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

IIS 8.5中非WWW转WWW及HTTP转HTTPS重定向问题求助

实现IIS 8.5中非WWW转WWW且HTTP转HTTPS的统一重定向

我帮你完善了web.config里的URL重写规则,能完美实现你要的需求——不管用户输入http://example.com、http://www.example.com还是https://example.com,都会统一重定向到https://www.example.com,而且会保留原请求的路径部分。

完整的规则代码如下:

<rewrite>
  <rules>
    <rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAny">
        <!-- 匹配非WWW开头的主机名 -->
        <add input="{HTTP_HOST}" pattern="^www\.example\.com$" negate="true" />
        <!-- 匹配HTTPS未开启的情况 -->
        <add input="{HTTPS}" pattern="on" negate="true" />
      </conditions>
      <action type="Redirect" url="https://www.example.com/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

关键部分解释:

  • stopProcessing="true":确保这个规则处理完成后,不会再执行后续的重写规则,避免不必要的冲突。
  • match url="(.*)":匹配请求的所有URL路径(比如/about、/product/123这类),{R:1}会把匹配到的路径带到重定向后的URL里,保证用户访问的具体页面不会丢失。
  • 条件部分:用MatchAny逻辑,只要满足以下任意一个条件就触发重定向:
    • 主机名不是www.example.com(也就是用户输入了不带WWW的域名)
    • HTTPS未开启(也就是用户用HTTP协议访问)
  • redirectType="Permanent":返回301永久重定向,对搜索引擎SEO更友好,也能让浏览器缓存重定向规则,提升后续访问效率。

注意事项:

  1. 确保你的IIS 8.5已经安装了URL Rewrite模块,如果没装的话规则不会生效,可以通过IIS管理器的“模块”功能查看,或者直接在服务器上安装该模块。
  2. 把代码里的example.com替换成你自己的实际域名,别忘了正则表达式里的.要转义成\.,否则会匹配任意字符导致规则出错。
  3. 测试的时候建议清空浏览器缓存,避免旧的重定向缓存干扰测试结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:57:17