我希望规范化域名,从bar.example.com到www.example.com(以及任何不是www.example.com的域名)。站点运行IIS7。
问题是某些网址的格式为http://bar.example.com/asp/oldpage.asp?query=awesome,并且已经具有重定向到http://www.example.com/newpage/awesome的特定网址重写规则
我想写一条捕捉其他规则的规则。
HERE'THE CATCH:我有很多的规则,并希望将此规则放在网站的根目录中,但在子文件夹中有其他重写/重定向规则,所以我想要推迟301发生,直到所有规则都已运行。
这可能吗?重写有一个延迟选项(stopProcessing =“false”),但这似乎不是重定向的选项。
我在这里SOL?
答案 0 :(得分:6)
不幸的是,我可以确认延迟处理(stopProcessing="false"
)仅适用于重写操作,并且被重定向操作忽略。
如果匹配数量很小 - 但事实并非如此 - 根据您的问题 - 我会建议您使用正则表达式替换它们。例如:
First match: ^first/a$
Second match: ^second/b$
Combined match: ^(first/a|second/b)$
导致类似:
<rule name="MyCombinedRule">
<match url="^(first/a|second/b)$" />
<action type="Redirect" url="http://www.example.com/third/c" />
</rule>