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

ASP.NET4.7+IIS10添加REWRITE规则出现ERR_TOO_MANY_REDIRECTS问题

解决IIS Rewrite规则引发的ERR_TOO_MANY_REDIRECTS问题

问题本质

你使用Rewrite(服务器内部重写)而非Redirect(外部重定向)时,指定绝对URL(https://oldsite.com/pageA)会让IIS将请求作为反向代理转发到oldsite。如果oldsite的pageA存在跳转规则(比如HTTPS强制跳转、www域名跳转,或是业务逻辑跳回newsite),且转发请求的Host头默认仍为newsite.com,就会触发oldsite的跳转逻辑,最终形成循环。而Redirect是直接告知浏览器跳转,地址栏更新为oldsite的URL,不会涉及内部转发,因此不会出现循环。

修复方案

方案1:调整Rewrite规则,配置反向代理Host头

若必须保留Rewrite(维持浏览器地址栏不变),需修改规则添加服务器变量配置,确保转发到oldsite的请求使用正确的Host头:

<rule name="testrewrite" stopProcessing="true"> 
  <match url="page1$" /> 
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(www\.)?newsite\.com$" /> 
  </conditions> 
  <action type="Rewrite" url="https://oldsite.com/pageA" />
  <serverVariables>
    <set name="HTTP_HOST" value="oldsite.com" />
  </serverVariables>
</rule>

同时在IIS中允许修改HTTP_HOST变量:

  • 打开站点的URL重写模块
  • 点击右侧「查看服务器变量」
  • 添加HTTP_HOST并勾选「允许修改」

方案2:改用Redirect规则(更简单,无需隐藏地址场景)

如果不需要保持地址栏为newsite.com,直接使用已验证可行的Redirect规则:

<rule name="testredirect" stopProcessing="true"> 
  <match url="page1$" /> 
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(www\.)?newsite\.com$" /> 
  </conditions> 
  <action type="Redirect" url="https://oldsite.com/pageA" redirectType="Permanent" />
</rule>

redirectType="Permanent"对应301永久重定向,利于SEO;临时跳转可改用Temporary(302)。

方案3:排查oldsite的跳转逻辑

确认oldsite.com的pageA是否存在跳回newsite的规则,包括:

  • IIS重定向规则
  • ASP.NET页面中的Response.Redirect代码
  • HTML的<meta http-equiv="refresh">跳转
  • CDN或域名服务商的跳转配置
    若存在此类逻辑,需调整规则排除来自newsite的转发请求。

批量配置page1/page2规则

可以通过正则匹配+重写映射批量处理两个页面,提升规则效率:

<rewriteMaps>
  <rewriteMap name="OldPageMap">
    <add key="page1" value="pageA" />
    <add key="page2" value="pageB" />
  </rewriteMap>
</rewriteMaps>

<rule name="RewriteToOldSitePages" stopProcessing="true"> 
  <match url="^(page1|page2)$" /> 
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(www\.)?newsite\.com$" /> 
  </conditions> 
  <action type="Rewrite" url="https://oldsite.com/{OldPageMap:{R:1}}" />
</rule>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:52:33