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

IIS多绑定站点单域名HTTPS重定向问题求助(URL Rewrite规则无效)

解决单个域名的HTTPS重定向问题

先帮你排查下之前两个规则失效的原因:

  • 规则1的问题:<match url="^www.domain.com$" 里的url匹配的是请求路径(比如/about这类),不是域名!所以这个规则根本不会触发,用户访问的路径不可能是www.domain.com。
  • 规则2的问题:首先action里的URL格式错误,应该是https://而非https:www.domain.com;其次没保留用户原本访问的请求路径,用户访问http://www.domain.com/page1会直接跳去https://www.domain.com,丢失原路径体验很差。

下面给你一个经过验证的可行规则,专门针对单个域名做精准HTTPS重定向:

<rule name="Redirect www.domain.com to HTTPS" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <!-- 精准匹配目标域名 -->
        <add input="{HTTP_HOST}" pattern="^www.domain.com$" />
        <!-- 仅在HTTP访问时触发 -->
        <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
    <!-- 重定向到HTTPS,保留原请求路径和查询参数 -->
    <action type="Redirect" url="https://www.domain.com/{R:1}" redirectType="Permanent" />
</rule>

规则细节说明:

  • <match url="(.*)" />:匹配所有请求路径,确保用户访问任何子页面都能触发规则。
  • {HTTP_HOST}条件:只对www.domain.com生效,不会影响网站上绑定的其他域名。
  • {HTTPS}条件:避免HTTPS访问时重复重定向,减少无效请求。
  • redirectType="Permanent":返回301永久重定向,对SEO更友好,浏览器也会缓存该规则提升后续访问效率。
  • {R:1}:引用match中捕获的原请求路径,保证用户访问http://www.domain.com/blog能正确跳转到https://www.domain.com/blog。

额外注意事项:

  1. 确认你的IIS已经安装了URL Rewrite模块,未安装的话规则无法生效。
  2. 检查网站绑定:必须同时配置www.domain.com的HTTP(80端口)和HTTPS(443端口)绑定,且HTTPS绑定要搭配有效的SSL证书。
  3. 如果网站有其他重定向规则,把这个规则放在最顶部,避免被其他规则拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:24:04