如何在IIS中配置URL重写规则实现二级域名到三级域名的流量转发
IIS配置URL重写实现abc.xyz.com全局跳转步骤
前置准备
- 首先确保IIS已经安装URL Rewrite模块,该模块为IIS可选组件,默认未预装,安装完成后需要重启IIS管理器才会显示对应功能入口。
方法1:通过IIS图形界面配置
- 打开IIS管理器,选中需要配置跳转的目标站点,双击功能视图中的「URL重写」选项
- 点击右侧操作栏的「添加规则」,选择「入站规则」分类下的「空白规则」,点击确定
- 按以下参数逐项配置规则:
- 规则名称:可自定义,例如
abc.xyz.com全局跳转至abc.123.xyz.com - 匹配URL配置:
- 请求的URL:选择
与模式匹配 - 使用:选择
正则表达式 - 模式:填写
(.*),匹配所有路径和参数 - 勾选「忽略大小写」
- 请求的URL:选择
- 条件配置:
点击「添加」按钮新增匹配条件:- 条件输入:填写
{HTTP_HOST}(代表请求的域名) - 检查输入字符串是否:选择
与模式匹配 - 模式:填写
^(.*)\.abc\.xyz\.com$,匹配所有带三级前缀的abc.xyz.com域名(例如www.abc.xyz.com、test.abc.xyz.com等) - 勾选「忽略大小写」
- 条件输入:填写
- 操作配置:
- 操作类型:选择
重定向 - 重定向URL:填写
https://{C:1}.abc.123.xyz.com/{R:1},其中{C:1}是条件匹配到的域名前缀,{R:1}是原请求的路径和参数 - 勾选「附加查询字符串」,保证原URL携带的查询参数同步转发
- 重定向类型:生产环境建议选
永久(301)(对SEO友好),临时跳转可选临时(302)
- 操作类型:选择
- 规则名称:可自定义,例如
- 点击右侧操作栏的「应用」保存规则,重启站点后生效。
方法2:直接修改web.config配置
无需操作IIS管理器,直接将以下规则代码添加到站点根目录web.config文件的<system.webServer><rewrite><rules>节点下即可:
<rule name="abc.xyz.com跳转至abc.123.xyz.com" stopProcessing="true"> <match url="(.*)" ignoreCase="true" /> <conditions> <add input="{HTTP_HOST}" pattern="^(.*)\.abc\.xyz\.com$" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://{C:1}.abc.123.xyz.com/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule>
补充说明
如果需要连根域名
abc.xyz.com也同步跳转,把条件中的模式改为^(.+\.)?abc\.xyz\.com$即可,同时适配带前缀和不带前缀的所有abc.xyz.com域名请求。
- 若需要保留原请求的HTTP/HTTPS协议,把重定向URL中的
https://替换为{REQUEST_SCHEME}://即可,适配不同协议的跳转需求。
内容的提问来源于stack exchange,提问作者VS Compiler
相关产品推荐
相关产品推荐

