Htaccess 重新導向資料夾並刪除 URL 結尾

Htaccess 重新導向資料夾並刪除 URL 結尾

我正在嘗試使用重定向某些 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

在哪裡

  • firstsecond並且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(永久)重定向(如果這是意圖)。

相關內容