WordPress子目录博客首页301重定向至域名首页失败求助
问题分析与解决方法
你之前的规则无效主要有两个核心问题:
- 路径匹配逻辑错误:你写的规则要么是重定向整个根目录,要么是匹配路径的方式不对,没有精准指向
/blog/首页。 - 缺少必要的引擎开启声明:使用RewriteRule时必须先开启RewriteEngine,否则规则不会被执行。
下面分两种场景给出正确的配置:
场景1:规则写在根目录的.htaccess文件中
需要精准匹配/blog和/blog/两种访问路径(用户可能输入带或不带尾斜杠的地址):
RewriteEngine On # 同时匹配 /blog 和 /blog/ RewriteRule ^blog/?$ https://example.com/ [R=301,L]
场景2:规则写在blog子目录的.htaccess文件中
因为当前目录是/blog/,所以匹配该目录的根路径(即博客首页)即可:
RewriteEngine On # 匹配 /blog/ 首页 RewriteRule ^$ https://example.com/ [R=301,L]
额外注意事项
- 如果你是在WordPress生成的.htaccess文件中添加规则,一定要把重定向规则放在WordPress默认规则的前面,避免被WP的URL重写规则拦截。
- 测试前务必清除浏览器缓存,或者用隐私窗口访问,因为301重定向会被浏览器强缓存,修改后的规则可能不会立即生效。
内容的提问来源于stack exchange,提问作者Elichy
相关产品推荐
相关产品推荐

