我試圖改寫以下網址:使用重寫單個URL幫助
index.php?route=checkout/cart
到
/cart
:
RewriteRule ^index.php?route=checkout/cart$ /basket [L]
但是它似乎並沒有工作。任何人都知道我在做什麼錯了?
感謝
我試圖改寫以下網址:使用重寫單個URL幫助
index.php?route=checkout/cart
到
/cart
:
RewriteRule ^index.php?route=checkout/cart$ /basket [L]
但是它似乎並沒有工作。任何人都知道我在做什麼錯了?
感謝
RewriteRule
確實只測試URL path。您需要RewriteCond
測試查詢:
RewriteCond %{QUERY_STRING} ^route=checkout/cart$
RewriteRule ^index\.php$ /basket [L,R=301]
附加R=301
標誌將導致與狀態代碼301(永久重定向),而不是內部重定向的外部重定向。
如果你想倒過來:
RewriteRule ^basket$ index.php?route=checkout/cart [L]
您需要發送重定向使新的URL得到體現在瀏覽器地址欄中。因此,請將R
添加到[L]
。
RewriteRule ^index.php?route=checkout/cart$ /basket [R,L]
如果您想那個searchbots應該忽略的「醜陋」的URL和/或從索引中刪除,並使用新的來代替,然後發送一個301
重定向。
RewriteRule ^index.php?route=checkout/cart$ /basket [R=301,L]
避免顯而易見:'/ cart'或'/ basket'? – BalusC 2010-03-13 14:10:15