HTTPS否定无法正常工作

时间:2017-10-13 13:22:52

标签: url-rewriting iis-7 iis-8

我有这个网站“localhost”。我希望所有页面都应该有https,除了“localhost / order.aspx?r = 15”。这里的问题是它将所有页面重定向到HTTPS,包括“localhost / order.aspx?r = 15”。我也试过这样的模式 “^ /本地主机/ order.aspx $”

 <rule name="Force HTTPS" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    <add input="{REQUEST_URI}" pattern="(order.*)" ignoreCase="true" negate="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
    </rule>

1 个答案:

答案 0 :(得分:1)

所以我修好了。 清除浏览器缓存,因为时间浏览器经常记住HTTPS路径。并尝试检索HTTPS,即使您只提供HTTP。 我会建议使用IE来测试这个。

像这样更新规则。

<rule name="NoSSL - folder" enabled="true" stopProcessing="true">
   <match url="order.*" />
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
   </conditions>
   <action type="None" />
</rule>
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTPS}" pattern="off" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
</rule>