WordPress通过htaccess设置302临时跳转至子目录出现死循环求助
故障原因
Redirect指令属于前缀匹配规则,你配置的Redirect 302 / https://example.com/home/会匹配所有以/开头的路径(包含/home/本身),每次命中规则都会在目标地址后拼接匹配到的路径后缀,就会不断叠加/home产生死循环。
解决方案
- 先删除原有错误的
Redirect 302 / https://example.com/home/配置行 - 在
# BEGIN WordPress标记的上方添加如下重写规则,该位置的规则不会被WordPress自动更新覆盖:
<IfModule mod_rewrite.c> RewriteEngine On # 仅匹配站点根目录请求,跳转至/home/,不会命中/home/路径下的请求 RewriteCond %{REQUEST_URI} ^/$ RewriteRule ^(.*)$ https://example.com/home/ [L,R=302] </IfModule>
注意事项
- 规则中的
R=302对应临时跳转,符合你临时迁移的需求,后续如果需要改为永久跳转可替换为R=301 - 修改完成后请清空浏览器缓存再测试,避免旧的跳转缓存干扰验证结果
内容的提问来源于stack exchange,提问作者lowercase
相关产品推荐
相关产品推荐

