我在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>
有什么想法吗?