2015-06-21 146 views
0

我嘗試創建重定向規則。我有兩個網址www.example.com/speak和www.example.com/speaking。我下面加行我的.htaccessApache .htacces重定向

RewriteRule speaking$ /?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk [NC,QSA,R=301] 
RewriteRule speak$ /?utm_source=offline&utm_medium=bookmarks&utm_campaign=english_course [NC,QSA,R=301,L] 

但每次我重定向到/?utm_source =離線& utm_medium =書籍& utm_campaign = bookmarks_uk時間。

我交換了它們,但它沒有奏效。

有什麼想法?

+0

你想重定向(URL變化)或重寫? – anubhava

回答

1

這些規則應該可以正常工作,但可以改進以適應尾隨斜線。還使用^來標記字符串的開始,並使用$來標記字符串的結尾。

RewriteRule ^speaking/?$ /?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk [NC,QSA,R=301] 
RewriteRule ^speak/?$ /?utm_source=offline&utm_medium=bookmarks&utm_campaign=english_course [NC,QSA,R=301,L] 

我懷疑你的問題是瀏覽器緩存。嘗試清除瀏覽器緩存並重新啓動瀏覽器。

+0

謝謝。我將L選項添加到頂部規則,它的工作原理!我必須按照您的建議清除瀏覽器緩存。 – Strabek

0

由於您使用的是R=301標誌,因此您正在被重定向。如果您嘗試訪問/speaking並顯示/?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk的內容,則需要刪除相關標誌。

,您的最終規則應該是這樣的:

RewriteRule ^speaking/?$ /?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk [NC,QSA,L] 
RewriteRule ^speak/?$ /?utm_source=offline&utm_medium=bookmarks&utm_campaign=english_course [NC,QSA,L]