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

IIS默认网站下应用未加尾部斜杠时重定向至根目录问题求解

IIS子应用省略尾部斜杠跳转根站点排查方案

1 排查根站点规则冲突

  • 打开IIS管理器,进入「Default Web Site」的「URL重写」模块,检查所有已配置规则:优先级最高的规则如果未排除子应用路径,会优先触发根站点逻辑导致跳转错误
  • 检查根站点的httpRedirect配置,如果exactDestination属性设为false,会自动将子路径请求重定向到根目标地址

2 修复无扩展URL重定向偏移

这是IIS和ASP.NET配合的常见问题,IIS处理无后缀路径时默认使用内部绑定地址生成重定向目标,未正确拼接子应用路径,在对应子应用的web.config的appSettings节点下添加以下配置即可:

<appSettings>
  <add key="aspnet:UseHostHeaderForRequestUrl" value="true" />
</appSettings>

3 配置强制尾部斜杠规则

如果上述配置无异常,可以直接在根站点或子应用的web.config中添加URL重写规则,主动匹配不带斜杠的子应用路径,重定向到带斜杠的地址:

<system.webServer>
  <rewrite>
    <rules>
      <!-- 单个应用专属规则 -->
      <rule name="Add trailing slash for App1" stopProcessing="true">
        <match url="^App1$" />
        <action type="Redirect" url="App1/" redirectType="Permanent" />
      </rule>
      <!-- 多个子应用可使用下方正则批量匹配,匹配所有不带点、不带斜杠的一级路径
      <rule name="Add trailing slash for all apps" stopProcessing="true">
        <match url="^([^/.]+)$" />
        <action type="Redirect" url="{R:1}/" redirectType="Permanent" />
      </rule>
      -->
    </rules>
  </rewrite>
</system.webServer>

4 反向代理场景特殊配置

如果站点使用了ARR反向代理,需要进入IIS的「应用程序请求路由缓存」设置,开启「反向代理-在响应头中重写主机」选项,避免代理转发过程中重定向地址被改写为根站点地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 13:42:02