我最近为我的网站获得了 SSL 证书,并希望将所有流量重定向到 HTTPS。我得到了所有去 https://mydomain.com
的东西,但是如果有人输入 http://mydomain.com/anotherpage
它会丢弃另一个页面并只带走用户到主页。
我在 web.config
文件中的规则如下所示:
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
我也试过 https://{HTTP_HOST}{REQUEST_URI}
但没有成功。谁能告诉我需要做什么才能使网站重定向到页面的正确 HTTPS 版本?我感觉它与模式有关,但我似乎无法弄清楚语法。
最佳答案
我找到了一种方法来执行此操作,并且您不需要 Rewrite 模块。
以下内容适用于 Windows 8 (IIS 8.5):
- 从您的站点中删除 HTTP 绑定(bind)(保留 HTTPS)
- 添加另一个网站
- 确保新站点具有 HTTP 绑定(bind)
- 如图所示配置 HTTP 重定向:
现在所有 HTTP 请求都将重定向到您的 HTTPS 站点并保留 URL 的其余部分。
关于http - IIS HTTP 到 HTTPS 相对重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15756774/