2009-07-15 65 views
0

在我的.htaccess文件我有一套規則如下:如何使用htaccess將HTTP_REFERER追加到查詢字符串?

RewriteRule ^dir/page1$ /bleh/docs/?id=12 [L,QSA] 
RewriteRule ^dir/page2$ /bleh/docs/?id=13 [L,QSA] 
RewriteRule ^dir/page3$ /bleh/docs/?id=14 [L,QSA] 

有時這些規則之一可以通過從其他網站(引薦)重定向訪問。我想能夠像這樣追加引用到查詢字符串:

RewriteRule ^dir/page2$ /bleh/docs/?id=13&ref=%{HTTP_REFERER} [L,QSA] 

但是,這似乎並不奏效。

我在做什麼錯?

回答

2

如果您正在拼寫HTTP_REFERER(由於編輯原因而不清楚),則您正確地執行了此操作。如果它在那個時候不工作,那是因爲這個引用者沒有被提供。 (其中有許多原因;提供它是在瀏覽器的自由裁量權。)

1

引用者的變量使用常見的拼寫錯誤:HTTP_REFERER。有關更多變量名稱,請參見this cheat-sheet

據我所知,重寫的URL不會刪除原始的Referer頭,所以你應該仍然能夠從你的代碼中獲取它,而不用把它作爲查詢字符串參數傳遞(假如它允許你訪問HTTP變量。)

相關問題