URL重写从http重定向到https的规则:
<rewrite>
<rules>
<rule name="http to https" enabled="false" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
但是,当您通过旧书签直接转到http://www.example.com/employees这样的子文件夹或在浏览器中输入地址时,它不会重定向到https://www.example.com/employees但会保留在http://www.example.com/employees上
奇怪的是,我们对开发网站有相同的重写规则,它会从http://dev.example.com/employees重定向到https://dev.example.com/employees。
很奇怪。有什么想法吗?
答案 0 :(得分:0)
这就是我使用的 - 我将它添加到applicationhost.config文件中,因此它在全局级别。它与你的有点不同,我运行了很多不同的网站,从来没有遇到过这样的问题。
<rule name="Root Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{SERVER_PORT}" pattern="^80$" />
<add input="{HTTP_HOST}" pattern="example\.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:0}" />
</rule>