在url中重写utm_source参数的规则

时间:2014-06-24 15:19:06

标签: .htaccess mod-rewrite apache2 rewrite

伙计们,我对mod_rewrite函数有疑问。

这是像

这样的外部链接
http://example.com/article?utm_sources=baidu&utm_campain=alading

我想将其更改为

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

#utm_sources = xxx也可以通过Google GA代码跟踪

我尝试下面的代码,但没有工作

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

我如何为它制作重写规则?感谢

2 个答案:

答案 0 :(得分:1)

您可以使用此规则:

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

需要追踪?才能剥离以前的查询字符串。

答案 1 :(得分:0)

我使用以下规则更新它对我有用,但感谢anubhava给出答案。

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