我有以下网址:
https://www.site-a.xyz/tutorials/post-name/2
我需要它重定向到以下网址
https://www.site-b.xyz/post-name/2
基本上如果URL有一个尾随数字元素(在本例中为/2
),我需要删除URL的/tutorials/
部分。
注意:仅在有追踪号码的情况下
答案 0 :(得分:1)
在www.site-a.xyz
的.htaccess文件顶部附近尝试以下(使用mod_rewrite):
RewriteEngine On
RewriteRule ^tutorials/([^/]+/\d+)$ https://www.site-b.xyz/$1 [R=302,L]
在这种情况下,尾随“数字”可以是1位或更多位。如果它只是一个数字(如您的示例中所示),那么应该简化(将\d+
更改为\d
)。 $1
是对RewriteRule
模式中捕获的组的反向引用。
请注意,这是302
(临时)重定向,如果这是永久性的,那么当您确定它正常工作时,请更改为301
。 301s由浏览器缓存,因此可能会使测试出现问题。
更新:要在源网址上允许可选尾随斜杠,请在/?
模式的末尾附近添加RewriteRule
,例如这样:
RewriteRule ^tutorials/([^/]+/\d+)/?$ https://www.site-b.xyz/$1 [R=302,L]
这可以从重定向目标中删除可选的尾部斜杠。 (从而避免任何重复的内容问题。)