我正在尝试使用IIS 8的URL重写模块来确保所有连接都是https。我无法弄清楚的是如何维持规则的完整路径。我是新手,所以希望这是一个简单的解决方案。
我将转到这样的页面:https://xyz.domain.com/mypath/default.aspx。
从'https'中删除's'后,我被重定向到https://xyz.domain.com/default.aspx并且mypath
路径消失了。我需要保持这个。
这是web配置条目:
<rewrite>
<rules>
<rule name="Force http to https" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
试试这个:
<!-- Require HTTPS -->
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>