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

IIS实现https非www域名重定向到https带www域名问题求助

问题原因

你遇到的https非www域名无法跳转的问题,核心有两类可能:

  1. 前置配置缺失:IIS站点的HTTPS绑定未添加非www域名,或是所用SSL证书未覆盖非www域名,导致请求还没触发重写规则就先报证书错误,无法完成跳转
  2. 重写规则配置瑕疵:现有主机名规范化规则未指定永久重定向类型,且规则顺序逻辑不合理,部分场景下会出现跳转失效

解决步骤

  1. 先确认前置配置:
  • 检查IIS站点的HTTPS绑定,确认已经添加了非www域名(xyzdomain.com)的绑定记录
  • 确认所用SSL证书是多域名证书或通配符证书,同时支持xyzdomain.com和www.xyzdomain.com
  1. 替换现有重写规则为以下配置:
<rewrite>
    <rules>
        <clear />
        <!-- HTTP统一跳转HTTPS -->
        <rule name="HTTP to HTTPS" enabled="true" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                <add input="{HTTPS}" pattern="^OFF$" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
        </rule>
        <!-- 所有非www域名统一跳转www域名 -->
        <rule name="CanonicalHostNameRule" enabled="true" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                <add input="{HTTP_HOST}" pattern="^www\.xyzdomain\.com$" negate="true" />
            </conditions>
            <action type="Redirect" url="https://www.xyzdomain.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

注意:请将配置中的xyzdomain.com替换为你实际使用的域名。
3. 配置更新后执行iisreset命令重启IIS生效,测试前清除浏览器缓存避免旧的重定向缓存干扰结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:36:03