【发布时间】:2017-06-02 22:34:51
【问题描述】:
我想知道是否可以设置一个重写规则,您不指定域,只指定访问的页面和要重定向到的页面。我的目标是不必为不同的站点(即 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。
【问题讨论】:
标签: asp.net url-rewriting url-redirection