ドメインを指定しないで、アクセスしたページとリダイレクトするページだけを書き換えルールを設定できるかどうかは疑問です。私の目標は、異なるサイト(つまり、dev.mysite.com、qa.mysite.comなど)に同じバージョンの異なるバージョンを用意する必要がないため、複数のサブドメインに対して1つのルールが機能するようにすることです。たとえば、dev.mysite.com/mexico
に行く人をmx.dev.mysite.com/es/mexico
にリダイレクトする必要がありますが、それはQAでも有効です。さらに、生産にはわずかに異なるドメインがあり、これをさらに難しくします。これは私が思いついたことです - それは間違いなく仕事が必要です:異なるドメインとサブドメインで動作する書き換えルール
<rule name="Test Mexico Redirect">
<match url="^mexico"/>
<action type="Redirect" url="http://mx.{R:2}/es/mexico" redirectType="Permanent"/>
</rule>
残念ながら、それはちょうどうまくいきません。私は空白のページを取得します。おそらく{R:2}がルール内のドメインを探していて、1つが指定されていないためです。ドメインをすべての環境で同じにすることはできないため、これを行う方法は考えられません。
<action>
要素でregexを使用することができれば、私はこのようなことをするでしょう:^(mx\.).*com/es/mexico
。