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

请求配置IIS重写规则:全站HTTP仅分类页HTTPS

解决IIS中分类页强制HTTPS、其他页面保持HTTP的URL重写规则

没问题,这就帮你搞定这个配置。既然你已经有了全站HTTPS转HTTP的规则,那我们只需要在现有规则前添加一条优先级更高的规则,专门拦截分类页的HTTP请求,强制跳转到HTTPS版本即可。

具体规则代码(添加到web.config的<rewrite>节点下)

<rules>
    <!-- 优先级最高:分类页HTTP请求强制跳转到HTTPS -->
    <rule name="Force HTTPS for Category Pages" stopProcessing="true">
        <!-- 匹配以/Category/开头的任意URL(可根据实际分类路径调整) -->
        <match url="^Category/.*" />
        <conditions>
            <!-- 仅当请求协议是HTTP时触发 -->
            <add input="{HTTPS}" pattern="off" />
        </conditions>
        <!-- 重定向到HTTPS版本,保留原始URL路径和查询参数 -->
        <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
    </rule>

    <!-- 你已有的全站HTTPS转HTTP规则放在这条后面 -->
    <rule name="Force HTTP for All Other Pages" stopProcessing="true">
        <match url=".*" />
        <conditions>
            <add input="{HTTPS}" pattern="on" />
            <!-- 排除分类页(确保不会和上面的规则冲突) -->
            <add input="{REQUEST_URI}" pattern="^/Category/.*" negate="true" />
        </conditions>
        <action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
    </rule>
</rules>

关键细节说明

  • 规则顺序很重要:一定要把分类页的HTTPS强制规则放在你现有的HTTPS转HTTP规则前面,因为IIS会按顺序执行规则,优先级高的先生效。
  • 匹配路径调整:如果你的分类页路径不是/Category/,比如是/Products/,直接修改<match url="^Category/.*"里的Category即可。
  • 重定向类型:这里用的是Permanent(301重定向),适合SEO需求;如果只是临时测试,可以改成Temporary(302)。
  • 排除分类页:在你现有的HTTPS转HTTP规则里,添加了<add input="{REQUEST_URI}" pattern="^/Category/.*" negate="true",确保分类页的HTTPS请求不会被转成HTTP,避免循环重定向。

配置后测试要点

  1. 确保IIS已经安装了URL重写模块(如果没装,需要在服务器管理器的角色功能里添加)。
  2. 清除浏览器缓存后测试:访问http://你的域名/Category/xxx,应该自动跳转到https://你的域名/Category/xxx;访问其他页面(比如http://你的域名/home)则保持HTTP不变。
  3. 检查是否有循环重定向问题:如果出现跳转循环,检查规则的条件是否正确,尤其是排除分类页的那一行有没有写错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:10:23