IIS如何配置将https://site1.com/Repo/*重写/重定向到https://site2.com/Repo/*
IIS 配置 /Repo 前缀路径跨站重定向方案
前置条件
首先确认 site1 对应的IIS站点已安装URL重写模块,这是实现自定义重定向规则的基础,未安装的话先完成模块安装再进行后续配置。
方法一:直接编辑 web.config 配置(推荐,生效最快)
打开 site1 站点根目录的 web.config 文件,在 <system.webServer> 节点下添加如下规则即可。如果站点根目录没有该文件,直接新建一个完整的配置文件:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect Repo to site2" stopProcessing="true"> <match url="^Repo/(.*)" ignoreCase="true" /> <action type="Redirect" url="https://site2.com/Repo/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
规则说明
- 正则模式
^Repo/(.*)仅匹配所有/Repo/开头的路径,后面的路径后缀会被捕获为变量{R:1},自动拼接在目标地址后,实现路径完全对应 appendQueryString="true"会自动携带原请求的查询参数,比如原地址https://site1.com/Repo/xxx?version=1会跳转到https://site2.com/Repo/xxx?version=1- 重定向类型可按需调整:
Permanent对应301永久重定向,浏览器会长期缓存,适合站点迁移的固定场景;Temporary对应302临时重定向,不会被缓存,适合临时切换路径的场景
方法二:IIS图形界面操作步骤
不想直接修改配置文件的话,可以通过IIS管理器可视化配置:
- 打开IIS管理器,选中
site1对应的站点,双击功能列表中的「URL重写」 - 点击右侧操作栏的「添加规则」,选择「入站规则」分类下的「空白规则」
- 匹配URL配置:
- 请求的URL选择「与模式匹配」
- 使用选择「正则表达式」
- 模式输入
^Repo/(.*) - 勾选「忽略大小写」
- 条件部分无需额外配置,留空即可
- 操作配置:
- 操作类型选择「重定向」
- 重定向URL输入
https://site2.com/Repo/{R:1} - 勾选「附加查询字符串」
- 重定向类型根据需求选择「永久(301)」或「临时(302)」
- 点击右侧「应用」保存规则,重启
site1站点后生效
验证
配置完成后直接访问测试即可,比如访问 https://site1.com/Repo/324234234234234,会自动跳转至 https://site2.com/Repo/324234234234234 即配置成功。
内容的提问来源于stack exchange,提问作者Andrew Foxis
相关产品推荐
相关产品推荐

