2013-07-12 88 views
0

我正在尋找一種方法來獲取頁面地址的確切方式,它如何在瀏覽器的地址欄中顯示。PHP在瀏覽器地址欄中獲取地址

我的網站基本上是一個PHP腳本,我的目標是確定用戶是否使用http://mysite.comhttp://www.mysite.com或只是mysite.com或www.mysite.com訪問該網站。我希望能夠使用這些信息來重定向鏈接,這樣就可以使用單一格式。這是我正在使用的一些第三方工具所必需的。

所以我askin是如果有可能得到一個網站的網址,在PHP完全如何瀏覽器請求它。

回答

3

您可以通過查看$_SERVER['HTTP_HOST']告訴www.mysite.commysite.com之間的差別,但是瀏覽器總是會自動添加http://到URL(和一些瀏覽器隱藏它從用戶的不必要的信息),所以沒有辦法知道他們在實際鍵入

+0

謝謝。雖然這可能證明是足夠的。所以我會將你的回答標記爲答案。 –

0

您無法確定用戶是否鍵入http://或直接從PHP中將其關閉。 PHP將只能告訴最終域名($_SERVER['HTTP_HOST'])。其他功能在瀏覽器中處理。

+0

完全錯誤。 –

+0

我完全錯了嗎?提供一個例子,您可以告訴用戶是否在地址欄中鍵入http://以僅使用PHP訪問您的網站。 –

+0

對不起,是的。只是重新閱讀這個問題。如果你要編輯你的問題,我會刪除downvote。 –

2

前兩個HTTP請求的線條看起來像:

GET /index.php 
Host: www.mysite.com 

第一行指定的本地資源(在你的web目錄通常是一個文件),第二個指定哪些主機名ü ser輸入以查找您的站點(這對於運行多個虛擬Web主機的服務器尤其有用)。 PHP允許你提取這兩種:

$_SERVER['HTTP_HOST'] 
$_SERVER['PHP_SELF'] 

技術上,$_SERVER['PHP_SELF']指定相對於這個虛擬主機的根目錄下的當前的PHP腳本的文件路徑,但應該在實踐中,相同的資源列在HTTP請求的第一行。

正如其他回覆所述,無法判斷用戶是否輸入了http://

相關問題