2013-03-06 30 views
1

你好,我到处寻找解决方案,但找不到正确的答案,我希望你们中的一些人可以帮助我。更改GET var与htaccess

我需要这个网址更改:

www.website.com/category/post?src=flash-game

这一个:

www.website.com/category/post?utm_source=www.referrer.com&utm_medium=swf_game_referral&utm_campaign=flash-game

所以基本上我需要改变 “src” 变种为 “utm_campaign”,然后将“utm_source”替换为“%{HTTP_REFERER}”,然后手动添加值为“swf_game_referral”的“utm_medium” “

我尝试使用这样的:

RewriteCond %{QUERY_STRING} src=(.*) 
RewriteRule ^$ ?utm_source=%{HTTP_REFERER}&utm_medium=swf_game_referral&utm_campaign=%1 [QSA,R,L] 

它工作正常改变GET var和添加所有其他的东西,但问题是,它总是会将所有参数的主页,例如:

如果有人去我的网站,这个网址: www.website.com/category/post?src=flash-game

它会被重定向到: www.website.com/?utm_source=www.referrer.com&utm_medium=swf_game_referral&utm_campaign=flash-game

,我需要它留在原来的路径: www.website.com/category/post?utm_source=www.referrer.com&utm_medium=swf_game_referral&utm_campaign=flash-game

+0

您好崩溃,欢迎到StackOverflow。 你介意格式化你的问题,使它更具可读性吗? 这会让我们更好地帮助您 – 2013-03-06 14:44:45

+0

您好蒂莫西,我很抱歉没有找到htaccess代码的特定格式选项,它不会再发生!感谢您的建议 – 2013-03-06 14:56:34

+0

没有汗水。 格式化代码总是相同的,Stackoverflow尽最大努力找出最合适的格式,但它总是使我们更容易阅读:) – 2013-03-06 16:31:44

回答

0

你需要的URI添加为目标的一部分,让你的RewriteRule行类似:

RewriteRule ^(.*)$ /$1?utm_source=%{HTTP_REFERER}&utm_medium=swf_game_referral&utm_campaign=%1 [R,L] 
+0

感谢您的回答乔恩,但你的答案让无尽的外观给服务器错误。我只需要更改“src”参数 – 2013-03-06 15:04:11

+0

@CrashOverride哦,你需要删除'QSA'标志,因为条件是你需要'src ='参数,但是'QSA'在重写后会附加它,导致它循环。 – 2013-03-06 15:34:41

+0

再次感谢乔恩林,我删除了QSA的标志,但循环并没有消失:/ – 2013-03-06 15:53:25