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

IIS配置HTTPS下www跳转非www时https://www域名跳转失效求助

问题根因
  • 规则执行顺序错误:IIS URL重写规则按从上到下的顺序执行,当前你将WWW跳转规则放在HTTP转HTTPS规则之前,且WWW跳转规则的stopProcessing设置为false,跳转完成后仍会执行后续规则,容易引发逻辑冲突。
  • 规则生效配置缺失:第一个WWW跳转规则未显式配置enabled="true",可能导致规则未全局生效,无法匹配HTTPS场景下的WWW域名请求。
  • 前置依赖检查:需先确认你的SSL证书同时覆盖www.example.com和example.com两个域名,否则访问https://www.example.com时会先触发证书错误,还未到重写规则执行阶段就会中断请求。
修正后的配置
<rule name="HTTP to HTTPS" enabled="true" stopProcessing="false">
    <match url="(.*)" ignoreCase="false" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTPS}" pattern="off" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="WWW to Non-WWW" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
    </conditions>
    <action type="Redirect" url="https://{C:2}{REQUEST_URI}" redirectType="Permanent" />
</rule>
配置说明
  • 调整规则顺序:先执行HTTP转HTTPS逻辑,再执行WWW转非WWW逻辑,确保所有请求先统一到HTTPS协议再处理域名逻辑,避免多次跳转。
  • 修正stopProcessing配置:HTTP转HTTPS规则设置为stopProcessing="false",协议跳转完成后继续执行后续域名跳转规则;域名跳转规则设置为stopProcessing="true",跳转完成后终止规则执行,避免逻辑循环。
  • 两个规则都显式添加enabled="true",确保规则全局生效。
测试注意事项

修改配置后需要重启IIS站点,测试时建议使用浏览器无痕模式,避免本地缓存的301永久重定向规则影响测试结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:24:05