Redirect 301 /services /services/service-1
这会导致重定向循环,因为mod\\u别名
Redirect
指令是前缀匹配的。那么,源路径
/services
匹配重定向路径
/services/services-1
, 等等等等等等。
但是,由于您已经在使用mod\\u rewrite(作为WordPress的一部分),因此还应该使用mod\\u rewrite(而不是mod\\u alias)执行此重定向。在请求过程中,不同的模块在不同的时间执行(mod\\u rewrite before mod\\u alias),尽管.htaccess
, 因此,这可能会导致一些意外的冲突。
因此,请在现有WordPress前端控制器(即# BEGIN WordPress
注释):
RewriteRule ^services$ /services/service-1 [R=302,L]
这与URL匹配
/services
只有注意,上没有斜杠前缀
RewriteRule
图案在中使用时
.htaccess
.
这是一个临时(302)重定向。如果这是永久性的,请将其更改为301,但必须在确认其正常工作后。(默认情况下,浏览器会硬缓存301s,因此可能会导致测试出现问题。)
UPDATE: 要使上述内容在请求的URL末尾使用(或不使用)尾随斜杠,请将上述内容更改为:
RewriteRule ^services/?$ /services/service-1 [R=302,L]
如果您的目标URL也应该有一个尾随斜杠,则将其附加到替换上。ie。
/services/service-1
, 否则,WordPress将发出另一个重定向,或者您可能会创建重复的内容问题。