首页 > 解决方案 > web.config 301 重定向,Windows 托管

问题描述

我正在努力让 web.config 文件用于重定向 - 我是第一次这样做。我一直在尝试在本网站和其他地方找到的许多不同的代码。我们有 HTTPS 站点,我需要将 HTTP url-s 重定向到 HTTPS。该网站是用 HTML 编写的,我们有 Windows 主机。

我设置了一个 web.config 文件并添加了下面的代码。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <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>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

我在这里错过了什么吗?还是需要一段时间才能生效?

提前谢谢了!

卡德里

标签: asp.netiisweb-config

解决方案


从几年前Scott Hanselman 的博客中,你应该试试这个:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Redirect to HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
                </rule>
                </rules>
            </rewrite>
    </system.webServer>
</configuration>

推荐阅读