如何在IIS中通过webconfig配置将olddomain指定目录所有请求重定向到新URL
IIS web.config 批量重定向旧目录请求实现方案
完全可以通过单条规则实现olddomain/cars-for-sale/cars/路径下所有请求的统一重定向,具体操作如下:
前置依赖
确保你的IIS服务器已安装URL Rewrite模块,这是web.config支持重定向规则配置的必要组件。
两种常用场景配置
你可以根据自身需求选择对应配置,所有规则均需写入站点根目录web.config的<system.webServer>节点下。
场景1:所有请求统一重定向到单个固定新URL
适合旧目录下的所有内容都迁移到新站同一个落地页的情况,配置如下:
<rewrite> <rules> <rule name="重定向cars旧目录全量请求到固定新地址" stopProcessing="true"> <match url="^cars-for-sale/cars/(.*)$" /> <action type="Redirect" url="https://你的新域名/指定的新URL路径" redirectType="Permanent" /> </rule> </rules> </rewrite>
参数说明:redirectType="Permanent"对应301永久重定向,会通知搜索引擎更新收录,适合旧页面正式下线的迁移场景,对SEO友好。
场景2:保留原路径后缀,重定向到新域名对应路径
如果新站保留了原有页面的路径结构,只是更换了域名和根目录,可以用以下配置自动拼接路径参数:
<rewrite> <rules> <rule name="重定向cars旧目录到新域名并保留路径" stopProcessing="true"> <match url="^cars-for-sale/cars/(.*)$" /> <action type="Redirect" url="https://你的新域名/新的根目录路径/{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite>
参数说明:{R:1}会自动带入原路径中cars-for-sale/cars/之后的所有后缀内容,实现新旧路径的一一对应跳转。
注意事项
- 配置完成后建议先把
redirectType改为Temporary(对应302临时重定向),测试跳转逻辑完全符合预期后再改为301永久重定向,避免浏览器缓存错误的跳转规则导致排查困难。 - 如果你的站点绑定了多个域名,需要限制仅处理原域名的请求,可以在规则内新增条件节点:
<conditions> <add input="{HTTP_HOST}" pattern="^olddomain\.com$" /> </conditions>
内容的提问来源于stack exchange,提问作者Michael Fiil
相关产品推荐
相关产品推荐

