You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.htaccess配置仅顶级域名重定向 排除子路径跳转问题求解

问题原因

现有域名重定向规则存在两处逻辑错误:

  1. RewriteRule ^匹配范围无限制:正则中^仅标记字符串起始位置,未添加路径结束约束,根路径、任意子路径的请求都会命中该规则
  2. 规则内的$1属于无效反向引用:当前RewriteRule的匹配模式未设置括号捕获组,$1无法获取实际路径值,所有命中规则的请求都会被直接跳转至目标域名,最终触发全路径强制跳转。
修正后的完整.htaccess配置
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^(?:www\.)?joshrodg\.com$ [NC]
RewriteRule ^$ https://joshrodgers.com/ [R=301,L,NE]
规则说明
  • 把重定向规则的匹配模式从^改为^$:该正则仅匹配空请求路径,也就是用户直接访问域名根的场景,访问/example、/test这类带任意子路径的请求不会命中这条规则,自然不会触发跳转
  • 移除了无效的$1引用:因为仅需要根路径跳转到目标域名的根地址,不需要携带任何路径参数,直接写死目标地址即可
  • 测试注意事项:301是永久重定向标记,会被浏览器、CDN节点强制缓存,修改规则后请先清理本地浏览器缓存,或者临时把R=301改成R=302(临时重定向)验证逻辑正常后,再改回R=301避免缓存异常。

内容的提问来源于stack exchange,提问作者joshmrodg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:00:57