我想知道是否可以设置一个重写规则,其中不指定域,只访问所访问的页面和要重定向的页面。我的目标是不必针对不同的网站(即dev.mysite.com,qa.mysite.com等)使用相同规则的不同版本,因此一个规则适用于多个子域。例如,我需要重定向某人前往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}正在寻找规则中的域名,而没有指定域名。我想不出一种方法来做到这一点,因为即使在所有环境中域名都不相同。
这将是很酷,如果你可以在<action>
元素中使用正则表达式,那么我会做这样的事情:^(mx\.).*com/es/mexico
。