說到正則運算式,我是個菜鳥。我想要完成的是:
https://www.example.com/shop/product-floating-front-rotor-kit/
應該重定向到
https://www.example.com/shop/product-matching-front-rotor/
product應該是產品的名稱,我必須為多個產品這樣做。
編輯:這是我到目前為止所擁有的,我什至接近嗎?
RewriteEngine On
RewriteRule ^/shop/([a-z] )-floating-front-rotor-kit/ ^/shop/$1-matching-front-rotor/
uj5u.com熱心網友回復:
RewriteRule ^/shop/([a-z] )-floating-front-rotor-kit/ ^/shop/$1-matching-front-rotor/
這很接近,除了...
在模式
.htaccess匹配的 URL 路徑中(第一個引數)不以斜杠開頭。RewriteRule替換字串具有錯誤的前綴
^。這應該是“普通”字串,而不是正則運算式。[a-z]與連字符/破折號不匹配,您宣告可能出現在產品名稱中。您沒有在模式
$末尾包含字串結尾錨 ( ) ,因此任何尾隨字串都將成功并被丟棄。(這是故意的嗎?)RewriteRule這是內部“重寫”,而不是所述的“重定向”。您需要包含
R標志。(內部重寫不太可能在這里作業,因為目標 URL 需要進一步重寫。)
請嘗試以下操作。這應該在.htaccess檔案的頂部,緊跟在RewriteEngine指令之后。
RewriteRule ^shop/([a-z-] )-floating-front-rotor-kit/$ /shop/$1-matching-front-rotor/ [R=302,L]
這是一個 302(臨時)重定向。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/456598.html
