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

ASP.NET MVC IIS URL重写:非WWW转WWW排除特定主机规则失效排查

IIS URL重写规则问题排查与修复

你的否定条件未生效的核心原因是使用了IIS URL重写模块不支持的服务器变量{REQUEST_HOST},IIS中没有这个内置变量,应该用{HTTP_HOST}来匹配请求的主机名。

默认情况下规则的条件是逻辑AND关系,需要确保两个条件同时满足才会执行重定向:

  • 主机名不以www.开头
  • 主机名不包含svha-prd-as-careservices-01

修正后的完整规则如下:

<rule name="Redirect Non-WWW to WWW" enabled="true" stopProcessing="true">
  <match url=".*" />
  <conditions logicalGrouping="MatchAll">
    <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)" />
    <add input="{HTTP_HOST}" pattern="svha-prd-as-careservices-01" negate="true" />
  </conditions>
  <action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="true" />
</rule>

补充说明:

  • 替换{REQUEST_HOST}为{HTTP_HOST},这是IIS中获取请求主机头的标准内置变量
  • 简化排除规则的正则表达式,直接匹配目标字符串即可,无需前后通配符
  • 显式声明logicalGrouping="MatchAll"(默认值即为该配置,添加后规则逻辑更清晰)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 14:05:04