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

如何通过web.config配置指定URL重定向并排除其余不需要跳转的URL?

IIS web.config URL重定向规则实现

前提:服务器已安装IIS URL Rewrite 模块

方案1:硬编码全量跳转规则

该方案会把所有要求的跳转关系直接写进配置,匹配到对应路径就执行跳转,其余路径不做处理:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Redirect root to new domain" stopProcessing="true">
          <match url="^$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old-domain\.com$" />
          </conditions>
          <action type="Redirect" url="https://new-domain.com/" redirectType="Permanent" />
        </rule>
        <rule name="Redirect promotion campaign to new root" stopProcessing="true">
          <match url="^promotion/campaign/?$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old-domain\.com$" />
          </conditions>
          <action type="Redirect" url="https://new-domain.com/" redirectType="Permanent" />
        </rule>
        <rule name="Redirect claim-status to new root" stopProcessing="true">
          <match url="^claim-status/?$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old-domain\.com$" />
          </conditions>
          <action type="Redirect" url="https://new-domain.com/" redirectType="Permanent" />
        </rule>
        <rule name="Redirect about us related pages" stopProcessing="true">
          <match url="^about-us(/awards-and-recognitions)?/?$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old-domain\.com$" />
          </conditions>
          <action type="Redirect" url="https://new-domain.com/about-us/company" redirectType="Permanent" />
        </rule>
        <rule name="Redirect careers related pages" stopProcessing="true">
          <match url="^careers(/apply-for-a-job)?/?$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old-domain\.com$" />
          </conditions>
          <action type="Redirect" url="https://new-domain.com/careers/" redirectType="Permanent" />
        </rule>
        <rule name="Redirect contact us" stopProcessing="true">
          <match url="^contact-us/?$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old-domain\.com$" />
          </conditions>
          <action type="Redirect" url="https://new-domain.com/contact-us" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

注意:把配置里的old-domain.com和new-domain.com替换为实际的新旧域名即可,测试阶段可以把redirectType="Permanent"改为redirectType="Temporary"使用302临时跳转,避免浏览器缓存影响测试效果。

方案2:仅处理根路径跳转,其余路径跳过

如果只需要处理根路径的跳转,其余路径的跳转交给CMS内部处理,用下面的单条规则即可:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Only redirect old domain root" stopProcessing="true">
          <match url="^$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old-domain\.com$" />
          </conditions>
          <action type="Redirect" url="https://new-domain.com/" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

说明:该规则只会匹配旧域名的根路径请求进行跳转,所有带路径的请求都不会触发该规则,直接交给后续的CMS逻辑处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:06:03