IIS7 Url重写 - 我可以将stopProcessing ="false"与重定向规则一起使用吗?

Bro*_*oam 5 iis-7 url-rewriting

我希望规范化域名,从bar.example.com到www.example.com(以及任何不是www.example.com的域名).站点运行IIS7.

问题是某些网址的格式为http://bar.example.com/asp/oldpage.asp?query=awesome,并且已经具有重定向到http://www.example的特定网址重写规则. COM/NEWPAGE /真棒

我想写一个捕捉其他规则的规则.

在这里:我有很多规则,并希望将此规则放在网站的根目录中,但在子文件夹中有其他重写/重定向规则,所以我想推迟301发生,直到所有规则都有已经运行了.

这可能吗?重写有一个延迟选项(stopProcessing ="false"),但这似乎不是Redirects的选项.

我在这里SOL吗?

Efr*_*isi 6

不幸的是,我可以确认延迟处理(stopProcessing="false")仅适用于重写操作,并且被重定向操作忽略.

如果匹配的数量很小 - 但根据你的问题,它不是 - 我会建议你使用正则表达式替换来组合它们.例如:

First match: ^first/a$
Second match: ^second/b$

Combined match: ^(first/a|second/b)$
Run Code Online (Sandbox Code Playgroud)

导致类似于:

<rule name="MyCombinedRule">
    <match url="^(first/a|second/b)$" />
    <action type="Redirect" url="http://www.example.com/third/c" />
</rule>
Run Code Online (Sandbox Code Playgroud)