0

我有规矩

<rule name="HTTPS to HTTP Redirect" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
       <add input="{HTTPS}" pattern="on" />
    </conditions>
    <action type="Redirect" url="http://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

将所有 HTTPS 重定向到 HTTP 但是我现在需要 1 个页面是 HTTPS。

谢谢

4

2 回答 2

0

嗨,您可以尝试下面的正则表达式:这将与 https 匹配除 help.html 页面之外的所有内容。

^[hH][Tt]{2}[pP][Ss](?!.*help.html).*$
于 2013-03-01T04:39:08.753 回答
0

尝试这个。我假设您要强制使用 HTTPS 的页面是 login.aspx。

<rewrite>
<rules>
    <rule name="Force HTTPS for 1 page " stopProcessing="true">
        <match url="(.*)/login.aspx" />
        <conditions>
            <add input="{HTTPS}" pattern="^OFF$" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
    </rule>
    <rule name="Others Force HTTP" stopProcessing="true">
        <match url="((.*))" negate="true" />
        <conditions>  
            <add input="{HTTPS}" pattern="^ON$" />
        </conditions>
        <action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
    </rule>
</rules>
</rewrite>
于 2013-03-01T04:15:21.933 回答