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

IIS站点根页强制跳转到HTTP,如何排除根页实现其余页面HTTPS重定向

可用配置规则

<rule name="Redirect to HTTPS except root" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTPS}" pattern="^OFF$" />
        <!-- 排除根路径(仅匹配空或单斜杠的情况) -->
        <add input="{REQUEST_URI}" pattern="^/?$" negate="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Found" />
</rule>

规则逻辑说明

  • 核心通过negate="true"实现排除逻辑:当请求路径是根路径(REQUEST_URI为空或者仅为/)时,条件不满足,不会触发HTTPS跳转,避开首页硬编码跳转导致的死循环
  • 其余所有非根路径的HTTP请求,都会被强制重定向到对应的HTTPS地址
  • redirectType="Found"对应302临时重定向,测试确认规则生效无异常后,可以改为Permanent(301永久重定向)减少后续请求开销
  • 如果需要同时排除带查询参数的根路径请求(例如http://example.com?from=wechat),可以将条件的pattern修改为^/?(\?.*)?$即可

之前配置失效原因

IIS重写模块的{URL}变量仅返回请求的路径部分(不含域名),你之前的规则中加入了域名example.com的匹配逻辑,所以永远无法命中,规则不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:48:03