从 ssl 重定向规则中排除页面
Exclude page from ssl redirect rule
我的 web.config 中有一个重写规则,强制所有页面转到 https。
有没有办法排除单个页面。
例如不想 http://www.example.com/thispage.ashx 重定向到 https 我如何修改规则以排除它?
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions><add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
您可以创建一个附加条件来匹配除 /thispage.ashx
以外的所有网址。
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" pattern="^/thispage\.ashx$" negate="true" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
注意:要测试您的新规则,请确保您已清除正在处理的网站的浏览器缓存。否则,由于客户端缓存的重定向响应,您可能无法测试规则是否有效。
我的 web.config 中有一个重写规则,强制所有页面转到 https。 有没有办法排除单个页面。
例如不想 http://www.example.com/thispage.ashx 重定向到 https 我如何修改规则以排除它?
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions><add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
您可以创建一个附加条件来匹配除 /thispage.ashx
以外的所有网址。
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" pattern="^/thispage\.ashx$" negate="true" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
注意:要测试您的新规则,请确保您已清除正在处理的网站的浏览器缓存。否则,由于客户端缓存的重定向响应,您可能无法测试规则是否有效。