从您发布的内容来看,不清楚您为什么会得到重定向循环。我们需要看看其他的.htaccess 文件然而
您可能与现有mod\\u重写(即。RewriteRule) 指令。Redirect 是mod\\u alias指令。
毫无疑问,WordPress前端控制器存在mod\\u rewrite指令。您还有其他重定向。您应该避免混合来自两个模块的重定向,因为它们可能不会按照您期望的顺序执行(mod\\u rewrite总是在mod\\u alias之前运行,尽管配置文件中的顺序很明显)。
我知道有一个标志可以使规则成为“最终的”,但是。。。
该“标志”适用于mod\\u重写RewriteRule, 不Redirect (mod\\u别名)。通过将该标志添加到Redirect 在这种情况下,它将被忽略。
您应该更改这些mod\\u别名Redirect mod\\u重写指令RewriteRule 并将其包括在内at the very top of your file.
例如:
RewriteRule ^(category)/cat-a/subcat-a/subsubcat-a/(.*) /$1/newcat-a/newsubcat-a/$2 [R=302,L]
RewriteRule ^(category)/cat-b/subcat-b/(.*) /$1/newcat-b/mynewsubcat-b/$2 [R=302,L]
这假设类别之后的所有内容都复制到目标URL的末尾。例如:。
.../subsubcat-a/foo/bar 成为
.../newsubcat-a/foo/bar. (这是你原来的
Redirect 指令可以完成。)
$1 是对“类别”的反向引用(仅保存重复),并且$2 是类别字符串之后的所有内容。
这个L (last) 此处需要标记。
使用302进行测试,只有在确定其正常工作时才更改为301,以避免缓存问题。
测试之前,您需要清除浏览器缓存。