IIS 8.5 如何配置仅针对特定域名的HTTP转HTTPS Url Rewrite规则
IIS 8.5 指定域名HTTP转HTTPS重写规则配置方案
请先确保IIS 8.5已安装「URL重写」模块,未安装的需先完成模块安装再进行以下配置。
方案1:直接修改站点web.config
直接在站点根目录的web.config文件中,找到<system.webServer>节点,插入以下配置即可:
<rewrite> <rules> <rule name="指定域名HTTP转HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll"> <!-- 仅匹配请求域名为www.test123.com的请求 --> <add input="{HTTP_HOST}" pattern="^www\.test123\.com$" /> <!-- 仅匹配HTTP请求 --> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://www.test123.com/{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite>
参数说明:
{R:1}会自动保留原请求的路径、参数信息,不会全部重定向到站点首页redirectType="Permanent"对应301永久重定向,对SEO更友好,可根据需求改为Temporary(302临时重定向)
方案2:IIS图形界面可视化配置
操作步骤如下:
- 打开IIS管理器,选中目标站点,双击功能列表中的「URL重写」
- 点击右侧操作栏的「添加规则」,选择「空白规则」后确认
- 名称字段填写自定义规则名,例如
www.test123.com强制HTTPS - 「匹配URL」区域:模式填写
(.*),使用选项选择「正则表达式」 - 「条件」区域:逻辑分组选择「全部匹配」,添加两条条件:
- 条件输入填写
{HTTP_HOST},模式填写^www\.test123\.com$,勾选使用正则表达式 - 条件输入填写
{HTTPS},模式填写^OFF$,勾选使用正则表达式
- 条件输入填写
- 「操作」区域:操作类型选择「重定向」,重定向URL填写
https://www.test123.com/{R:1},重定向类型选择「永久(301)」 - 点击右侧操作栏的「应用」保存配置,重启站点后生效
注意事项
- 如果站点已有其他重写规则,请将该规则放在规则列表的最顶部,避免被其他规则优先匹配拦截
- 配置完成后请清除浏览器缓存再测试,避免浏览器本地缓存的旧301重定向规则影响测试结果
内容的提问来源于stack exchange,提问作者Sarrador do Beco
相关产品推荐
相关产品推荐

