可能重複:
How to get full URL on the address bar using PHP如何使用PHP從地址欄中檢索完整的URL?
我使用這個功能,但它不工作的所有時間。任何人都可以提供一個提示嗎?
function sofa_get_uri() {
$host = $_SERVER['SERVER_NAME'];
$self = $_SERVER["REQUEST_URI"];
$query = !empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : null;
$ref = !empty($query) ? "http://$host$self?$query" : "http://$host$self";
return $ref;
}
我想檢索地址欄中的鏈接(正好),以便在登出時使用它來引用用戶。該網址是不同的:
http://domain.com/sample/address/?arg=bla
http://domain.com/?show=bla&act=bla&view=bla
http://domain.com/nice/permalinks/setup
但我不能得到一個函數,適用於所有情況下,並給我真正的引薦。
提示請。
'$ protocol'中的條件語句應該是'isset($ _ SERVER ['HTTPS'])=== true'。 –
請注意:這是快速而骯髒的解決方案,但大部分時間都適用。這種方法包含了一些值得考慮的事情。 HTTPS和HTTP_HOST不是標準的,可以省略或錯誤配置。 HTTP_HOST可能爲空或包含任何字符串數據(+可能是使用請求頭中的主機「被客戶端破解」)。最佳做法是使用多個檢查(SERVER_PROTOCOL和REQUEST_SCHEME以及HTTPS; SERVER_NAME比HTTP_HOST更可靠,但也可能被錯誤配置)。底線,這個功能大部分時間工作,但它不是通用和可靠的解決方案。 – Wh1T3h4Ck5