2012-09-10 58 views
1

我需要將一個變量追加到動態鏈接以進行下游跟蹤。如何將變量追加到不是特定目標的url?

附加?var=true適用於mysite.com/鏈接(我正在檢測現有變量並在存在的情況下追加&var=true),但是如果沒有尾隨「/」則會中斷。

前面的'?'用'/'可以糾正這個問題,但是它會以mysite.com/info.php格式斷開鏈接(CSS的路徑問題)。

是否存在服務器設置或.htaccess更改以允許liite以mysite.com?var = true的形式正確解析?

mysite.com?var=true  <- broken 

mysite.com/?var=true <- works 

mysite.com/info.php?var=true <-works 

mysite.com/info.php/?var=true <-broken 

服務器是apache。

謝謝!

回答

0
RewriteEngine On 
RewriteRule /(.*)$ /info.php?id=$1 

這可能做到這一點,或者在你的.htaccess文件

+0

該系統可以工作如果的'mysite.com?var=true的作品的形式與變量鏈接與「mysite.com/?var=true」相同。 'info.php'是一個表單示例,因爲實際的鏈接不會被知道。 –

0

如果要追加到網站的所有URL的變量的變化,試試這個htaccess的:

RewriteEngine on 
RewriteCond %{QUERY_STRING} !^(.*&)?var=true(&.*)?$ 
RewriteRule ^(.*)$ /$1?var=true [L,QSA] 

但是這不會改變用戶瀏覽器的url(他不會看到添加的變量,但服務器會)。如果你想讓它顯示出來,你必須重定向標誌[R]添加到最後一行:

RewriteEngine on 
RewriteCond %{QUERY_STRING} !^(.*&)?var=true(&.*)?$ 
RewriteRule ^(.*)$ /$1?var=true [L,QSA,R]