IIS URL重写不重定向子文件夹

时间:2016-10-04 22:10:09

标签: iis url-rewriting

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

很奇怪。有什么想法吗?

1 个答案:

答案 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>