2014-06-24 82 views
1

夥計們,我對mod_rewrite函數有疑問。重寫URL中的utm_source參數規則

這就像

http://example.com/article?utm_sources=baidu&utm_campain=alading 

外鏈接我喜歡將其更改爲

http://example.com/article#utm_sources=baidu&utm_campain=alading 

#utm_sources = XXX也可以通過谷歌GA代碼被追蹤

我試試下面的代碼,但不起作用

RewriteCond %{QUERY_STRING} ^utm_source(&.*)?$ [NC] 
RewriteRule ^article$ /article?%1 [R=301,NE,NC,L] 

我該如何爲它制定重寫規則?感謝

回答

1

您可以使用此規則:

RewriteCond %{QUERY_STRING} ^utm_sources=.+ [NC] 
RewriteRule ^article/?$ /article#%{QUERY_STRING}? [R=301,NE,NC,L] 

尾隨?需要剝離之前的查詢字符串。

+0

嗨,anubhava,謝謝提供這個,但我在這裏測試它 http://htaccess.madewithlove.be/不工作。 – user670809

+0

有一個錯字,現在修復它。再試一次我更新的答案。 – anubhava

0

我用下面的規則更新它適用於我,但謝謝anubhava給予答案。

RewriteCond %{QUERY_STRING} ^utm_(.*)?$ 
RewriteRule ^(.*)$ %{REQUEST_URI}#%{QUERY_STRING}? [R=301,NE,NC,L]