重定向我有以下網址:的.htaccess特定URL結構
https://www.site-a.xyz/tutorials/post-name/2
我需要它重定向到以下網址
https://www.site-b.xyz/post-name/2
本質上如果有一個尾隨數字元素的URL (在這種情況下爲/2
)我需要刪除URL的/tutorials/
部分。
注:僅當有一個尾隨數字
重定向我有以下網址:的.htaccess特定URL結構
https://www.site-a.xyz/tutorials/post-name/2
我需要它重定向到以下網址
https://www.site-b.xyz/post-name/2
本質上如果有一個尾隨數字元素的URL (在這種情況下爲/2
)我需要刪除URL的/tutorials/
部分。
注:僅當有一個尾隨數字
試試下面的(使用mod_rewrite)附近的.htaccess文件的頂部在www.site-a.xyz
:
RewriteEngine On
RewriteRule ^tutorials/([^/]+/\d+)$ https://www.site-b.xyz/$1 [R=302,L]
在這種情況下,尾隨的「號碼」可以是1位或更多位。如果它只有一個數字(如你的例子),那麼這應該簡化(將\d+
更改爲\d
)。 $1
是在RewriteRule
模式中對被捕獲組的反向引用。
請注意,這是一個302
(臨時)重定向,如果此目的是永久性的,那麼當您確定它正常工作時更改爲301
。 301s被瀏覽器緩存,因此可能導致測試出現問題。
UPDATE:爲了允許在源URL的可選斜線然後添加/?
靠近RewriteRule
圖案的端部,如下所示:
RewriteRule ^tutorials/([^/]+/\d+)/?$ https://www.site-b.xyz/$1 [R=302,L]
從該notatably條的可選結尾的斜線重定向目標。 (因此避免了任何重複的內容問題。)
您的回答非常好 - 但如果我的網址帶有斜線,該怎麼辦?即 - https://www.site-a.xyz/tutorials/post-name/2/ – richelliot
由於某種原因,我不能添加一個尾部的斜槓到上面的URL - 但我希望你明白我的意思! – richelliot
上述指令不允許有斜線(只是一個「尾數」,正如您的問題所述)。我已經更新了我的答案,以允許使用_optional_尾部斜線。 – MrWhite
'site-a'和'site-b'託管在同一個文件系統上嗎?還是完全分開? – MrWhite
完全獨立 – richelliot