我正在嘗試使用重定向某些 URL .htaccess
,但沒有成功。問題是我必須重定向 URL 的兩個不同部分。
這是我必須重定向的範例:
example.com/huawei-reparatie/huawei-mate-7-reparatie
必須重定向到:
example.com/reparatie/huawei/huawei-mate-7
那麼必須做什麼:
huawei-reparatie
分成reparatie/huawei
- 刪除
-reparatie
每個 URL 末尾的
這些是動態 URL,因此不僅僅是這個。我必須為許多不同的品牌(例如huawei
)和許多不同的設備(例如huawei-mate-7
)重定向所有這些 URL
我希望任何人都可以幫助我。
答案1
澄清您的要求:
/first-second/text-to-keep-removethis
應該重定向到;
/second/first/text-to-keep
在哪裡
first
,second
並且removethis
僅包含小寫 az 字母。first
並由second
單一連字符分隔。removethis
以單一連字符作為前綴(也被刪除),並且始終出現在 URL 路徑的末尾。text-to-keep
是任一系列 az 和連字號。
.htaccess
使用 mod_rewrite在根檔案頂部嘗試以下操作:
RewriteEngine On
RewriteRule ^([a-z]+)-([a-z]+)/([a-z-]+?)-[a-z]+$ /$2/$1/$3 [R=302,L]
這RewriteRule
圖案(第一個參數)是一個正規表示式,僅與請求的 URL 路徑匹配,減去斜線前綴。
$n
中的代換字串是對對應捕獲組(帶括號的子模式)的反向引用RewriteRule
圖案。
初始請求中出現的任何查詢字串都將不加更改地傳遞。如果應刪除任何查詢字串,請新增標誌QSD
(查詢字串丟棄)。
請注意,這是暫時 (302) 重定向。僅在您確認此操作正常後才變更為 301(永久)重定向(如果這是意圖)。