2013-03-06 31 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