如何在IIS中使用URL Rewrite实现网站重定向?
在IIS中通过URL Rewrite实现网站重定向的具体方案
以下是将https://www.contoso.com(含所有子页面、查询参数)重定向至https://www.testpage.com的两种实现方式:
方法一:通过IIS图形界面配置
- 安装URL Rewrite模块(若未安装)
打开IIS管理器,点击右侧“管理”栏的“Web平台安装程序”,搜索“URL Rewrite”并完成安装,安装后重启IIS。 - 进入目标站点的URL Rewrite配置
在IIS管理器左侧导航栏找到www.contoso.com对应的站点,双击右侧功能视图中的“URL Rewrite”。 - 添加重定向规则
- 点击右侧“添加规则”,选择“空白规则”,点击“确定”。
- 规则名称:自定义(例如“Contoso到TestPage重定向”)。
- 匹配URL:
- 请求路径:选择“与模式匹配”
- 使用:正则表达式
- 模式:
.*(匹配所有路径) - 忽略大小写:勾选
- 条件:
- 点击“添加”,设置:
- 输入:
{HTTP_HOST} - 匹配类型:与模式匹配
- 模式:
^www\.contoso\.com$(精确匹配主机头) - 忽略大小写:勾选
- 输入:
- 点击“添加”,设置:
- 操作:
- 操作类型:重定向
- 重定向URL:
https://www.testpage.com{R:0}({R:0}保留原请求的路径和查询参数) - 重定向类型:根据需求选择,**301(永久重定向)**适合长期域名迁移,**302(临时重定向)**用于临时跳转
- 追加查询字符串:勾选
- 停止处理后续规则:勾选
- 点击“应用”保存规则。
方法二:手动修改web.config配置
直接在目标站点根目录的web.config文件中添加以下配置(若文件不存在则新建):
<configuration> <system.webServer> <rewrite> <rules> <rule name="Contoso到TestPage重定向" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^www\.contoso\.com$" /> </conditions> <action type="Redirect" url="https://www.testpage.com{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
- 若需要临时重定向,将
redirectType="Permanent"改为redirectType="Temporary"即可。 - 确保站点应用池有读取
web.config文件的权限。
内容的提问来源于stack exchange,提问作者tm3241
相关产品推荐
相关产品推荐

