You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS 8.5:如何将http://www.重定向至https://www.并返回301而非302状态码?

在IIS 8.5实现HTTP www到HTTPS www的301永久重定向

刚好之前在IIS 8.5上折腾过一模一样的需求,给你分享两种靠谱的实现方式,都能确保返回301永久重定向,不会出现302的情况:

方法一:通过IIS图形界面配置URL重写模块

这是最直观的方式,适合习惯可视化操作的同学:

  1. 首先确保你的IIS已经安装了URL重写模块——如果没有的话,打开服务器管理器,在「添加角色和功能」里找到Web服务器(IIS)下的「应用开发」,勾选URL重写安装即可。
  2. 打开IIS管理器,找到你要配置的网站,双击右侧功能视图里的「URL重写」。
  3. 在URL重写界面的右侧操作栏,点击「添加规则」,选择「空白规则」,给规则起个好记的名字,比如「HTTP to HTTPS (www) 301 Redirect」。
  4. 配置「匹配URL」部分:
    • 请求路径选择「与模式匹配」
    • 模式填写(.*),勾选「忽略大小写」
  5. 配置「条件」部分,点击「添加」按钮,添加两个条件:
    • 第一个条件:输入{HTTPS},匹配类型选「与模式匹配」,模式填^OFF$(意思是只匹配HTTP请求)
    • 第二个条件:输入{HTTP_HOST},匹配类型选「与模式匹配」,模式填^www\.(.*)$(确保只针对www开头的域名)
  6. 配置「操作」部分:
    • 操作类型选择「重定向」
    • 重定向URL填写https://www.{C:1}/{R:1}({C:1}对应第二个条件里匹配到的域名部分,{R:1}对应请求的路径)
    • 重定向类型选择「永久(301)」
    • 勾选「追加查询字符串」和「停止处理后续规则」
  7. 点击界面右侧的「应用」,保存配置就搞定了。

方法二:直接修改web.config文件(适合喜欢代码配置的同学)

如果习惯直接改配置文件,或者需要批量部署的话,直接编辑网站根目录下的web.config文件,添加以下规则即可:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="HTTP to HTTPS www 301 Redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">
            <!-- 匹配HTTP请求 -->
            <add input="{HTTPS}" pattern="^OFF$" />
            <!-- 匹配www开头的域名 -->
            <add input="{HTTP_HOST}" pattern="^www\.(.*)$" />
          </conditions>
          <!-- 重定向到HTTPS的www地址,返回301 -->
          <action type="Redirect" url="https://www.{C:1}/{R:1}" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

几个重要的注意事项

  • 一定要确保你的网站已经绑定了有效的HTTPS证书,不然重定向后浏览器会提示安全错误。
  • 如果你的网站有多个域名需要处理,可以复制规则修改HTTP_HOST的匹配模式,或者添加新的规则。
  • 配置完成后,记得测试:用浏览器访问http://www.yourdomain.com,打开开发者工具(F12)查看网络请求的状态码,确认返回的是301。

内容的提问来源于stack exchange,提问作者saxon88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:28:50