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

Azure IIS非根URL非www转www及SSL重定向失效问题

问题成因

非根路径下www重定向失效、静态资源跳转正常的核心原因有两点:

  • Azure门户自带的「HTTPS ONLY」重定向运行在平台前端层,优先级远高于你配置的IIS重写规则。它只会把HTTP请求原样跳转到同域名的HTTPS地址,不会处理www前缀;对于非根路径的动态请求,完成这层跳转后,请求到达应用层时会被部署的应用框架(ASP.NET Core、Node.js、PHP等)的路由/HTTPS中间件提前接管响应,根本没有走到你配置的IIS www重写规则。
  • 静态资源请求不会进入应用业务路由管线,直接由IIS静态模块处理,所以能正常命中你写的重写规则,这也是静态资源跳转正常、动态路由跳转失效的直接原因。
    另外你现有规则没有指定重定向类型,默认返回302临时重定向,很容易被浏览器缓存错误的跳转结果,干扰测试判断。
解决方法

按以下步骤操作即可完全符合预期重定向规则:

  1. 先关闭Azure面板的「HTTPS ONLY」开关,避免平台层的高优先级重写打乱自定义规则逻辑,所有跳转统一交给IIS URL Rewrite处理,减少多轮重定向。
  2. 找到站点根目录下的web.config文件,把<system.webServer>节点下的<rewrite>配置段替换为以下内容,注意把example.com替换成你自己的实际域名:
<rewrite>
  <rules>
    <!-- 一步跳转:根域名(无论HTTP/HTTPS)直接跳转到带www的HTTPS地址 -->
    <rule name="Redirect Root to WWW HTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^example\.com$" />
      </conditions>
      <action type="Redirect" url="https://www.example.com/{R:1}" redirectType="Permanent" />
    </rule>
    <!-- 带www域名的HTTP请求强制跳HTTPS -->
    <rule name="Force WWW HTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{HTTP_HOST}" pattern="^www\.example\.com$" />
      </conditions>
      <action type="Redirect" url="https://www.example.com/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>
  1. 检查应用代码配置:如果你用的是ASP.NET Core等自带HTTPS重定向中间件的框架,把代码里的app.UseHttpsRedirection()相关配置注释掉,不要在应用层重复做跳转逻辑,避免提前接管请求导致IIS规则不生效;其他技术栈同理,删除代码里写死的域名、HTTPS跳转逻辑,统一由IIS规则处理。
  2. 重启Azure Web App实例,测试时优先用curl、Postman等工具查看响应的Location头验证结果,不要直接用浏览器测试——301永久重定向会被浏览器强缓存,之前的错误跳转记录会导致你看到不符合预期的结果,测试前需要清空浏览器缓存。

该配置下所有场景最多只会触发1次重定向,性能比开启平台HTTPS ONLY+单独配置www规则的方案更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 03:03:49