URL Rewrite配置问题:长域名FQDN跳转至短业务域名失败
备份服务器域名重定向问题排查方案
核心问题定位
- 现有重定向规则未触发的根本原因:IIS URL Rewrite模块的默认匹配模式仅匹配请求的路径部分,不包含主机域名,你写的正则匹配域名开头的规则永远无法命中,因此不会触发跳转。
- 此前重定向次数过多的原因:未给跳转规则增加主机名判断条件,规则会匹配所有进入站点的请求,跳转到新域名后请求仍然落到同一站点,再次触发跳转形成死循环。
具体解决步骤
- 调整URL Rewrite规则配置:
- 匹配模式选择正则表达式,填写
^(.*)$,匹配所有请求路径 - 新增条件配置:条件输入为
{HTTP_HOST},匹配模式填写^ABC-Backups\.Very\.Long\.Domain\.Name$(注意正则中.为特殊字符,需要加反斜杠转义) - 重定向目标填写
https://ABC-Backup.BusinessName.com/{R:1},勾选「追加查询字符串」选项,跳转类型选择301永久重定向
- 匹配模式选择正则表达式,填写
- 调整规则优先级:将上述域名跳转规则的执行顺序调整到HTTP强制HTTPS规则之前,避免先跳转HTTPS后触发证书报错或逻辑冲突
- 补充旧域名证书配置:
ABC-Backups.Very.Long.Domain.Name需要单独绑定有效SSL证书,否则用户访问HTTPS协议的旧域名时,还未触发跳转就会先报证书安全错误 - 生效验证:测试时使用浏览器无痕模式,提前清理本地DNS缓存和浏览器缓存,避免301永久重定向的历史缓存干扰测试结果
补充说明
此前配置的DNS CNAME未生效大概率是DNS记录TTL未到期导致的缓存问题,可待TTL到期后验证,也可直接搭配上述URL重定向规则使用,二者不冲突。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

