我一直在這裏尋找一段時間,找不到我的具體問題的答案。HTTP_REFERRER和位置重定向
在我網站上的100個地方中,我通過標題位置重定向重定向到錯誤頁面。
header("Location: /error.php");
我想要做的是在error.php頁面上捕獲並記錄http_referrer,但由於某種原因它沒有設置。我已經看到爲什麼沒有設置元刷新的解釋,但位置標題是302,所以它應該設置正確嗎?有什麼想法嗎?
請注意 - 我知道http_referrer是不可靠的,我知道我可以單獨傳遞信息。在我的場景中,這兩者都不重要(除非我想更改所有重定向所在的位置)。
可能重複[將302重定向維護引用字符串?](http://stackoverflow.com/questions/2158283/will-a-302-redirect-maintain-the-referer-string) –
一個問題是你不應該使用'Location:'頭部的相對路徑。 [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30)指出位置標題:'字段值由一個絕對URI組成。你必須使用新位置的絕對路徑。您可以從$ _SERVER ['HTTP_HOST']'和'$ _SERVER ['PHP_SELF']在這種情況下'header('http://'.$_SERVER ['HTTP_HOST']。'/ error.php')'; – DaveRandom
@DaveRandom - 謝謝,它確實有效,雖然 – therealsix