如何将domainA.com所有子路径重定向至根目录?.htaccess配置求助
解决domainA.com子路径重定向到根目录的.htaccess规则问题
你的原规则存在核心逻辑错误:
RewriteCond %{HTTP_HOST} ^domainA.com/$1完全不成立:%{HTTP_HOST}仅包含请求的域名(如domainA.com),不包含URL路径部分,且$1在这里没有对应的捕获分组,这条条件永远无法匹配。- 原规则会尝试将所有请求(包括根目录)重定向到根目录,可能引发不必要的跳转循环。
正确的.htaccess规则
最简版本(仅处理当前域名的子路径)
RewriteEngine On # 匹配所有非根目录的请求,重定向到根目录 RewriteRule ^(.+)$ / [R=301,NC,L]
更严谨版本(限定仅domainA.com生效)
如果需要确保规则只对domainA.com生效(避免误用到其他域名),可添加主机判断:
RewriteEngine On # 匹配domainA.com或www.domainA.com(不区分大小写) RewriteCond %{HTTP_HOST} ^(www\.)?domainA\.com$ [NC] # 捕获所有非空路径,重定向到domainA.com根目录 RewriteRule ^(.+)$ https://domainA.com/ [R=301,NC,L]
规则说明
^(.+)$:正则表达式匹配非空的URL路径(即除根目录/以外的所有请求)。[R=301,NC,L]:R=301:标记为永久重定向,浏览器会缓存该规则,减少后续重复跳转。NC:不区分大小写匹配路径(如/Contact-Us和/contact-us都会被匹配)。L:表示这是最后一条规则,匹配后不再执行后续Rewrite规则。
注意事项
- 测试前务必清空浏览器缓存,301重定向会被浏览器持久缓存,旧的错误规则可能影响测试结果。
- 确保
domainA.com根目录的介绍HTML文件存在且可正常访问,避免重定向后出现404错误。
内容的提问来源于stack exchange,提问作者UZAIF TECH
相关产品推荐
相关产品推荐

