太多重定向IIS URL重写多个规则

时间:2015-08-18 10:48:33

标签: asp.net-mvc url url-rewriting iis-7 rewrite

我在IIS中使用我的两条规则获得了太多的重定向。一条规则是将所有流量重定向到HTTPS,另一条规则是重定向到“不支持”的流量。不符合我的映射条件的浏览器页面 - 此页面位于应用程序的顶层。我试图排除这个' NotSupported'来自HTTPS规则的页面,因为我认为这是导致所有重定向的原因 - 但是,它无法正常工作......任何人都能看到我做错了什么?

由于

strcopy()

编辑:

这有效(重定向到Google)...

<rewrite> <rules> <rule name="UserAgent MSIE Rewrite" patternSyntax="ECMAScript" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny" trackAllCaptures="false"> <add input="{HTTP_USER_AGENT}" pattern="Chrome|MSIE 8.0|MSIE 7.0b|MSIE 7.0|MSIE 6.0b|MSIE 6.0|MSIE 5.5b1|MSIE 5.5|MSIE 5.0|MSIE 5.01|MSIE 4.0" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/NotSupported.html" appendQueryString="false" redirectType="Permanent" /> </rule> <rule name="Redirect to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_URI}" negate="true" pattern="^/NotSupported\.html$" ignoreCase="true" /> <add input="{HTTPS}" pattern="^OFF$" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{REQUEST_URI}" redirectType="Permanent" /> </rule> </rules> </rewrite>

但这并不是 - 试图使用内部地址。如何在该页面上排除此规则以便停止循环?

<rule name="UserAgent MSIE Rewrite" patternSyntax="ECMAScript" stopProcessing="true"> <match url=".*" ignoreCase="true" negate="false" /> <conditions logicalGrouping="MatchAny" trackAllCaptures="false"> <add input="{REQUEST_URI}" negate="true" pattern="^/notsupported$" ignoreCase="true" /> <add input="{HTTP_USER_AGENT}" pattern="Chrome|MSIE 8.0|MSIE 7.0b|MSIE 7.0|MSIE 6.0b|MSIE 6.0|MSIE 5.5b1|MSIE 5.5|MSIE 5.0|MSIE 5.01|MSIE 4.0" /> </conditions> <action type="Redirect" url="http://www.google.com/" appendQueryString="false" redirectType="Found" /> </rule>

有什么想法吗?

0 个答案:

没有答案