php全面獲取url位址列引數多種方法:
$_SERVER["SERVER_PORT"] //獲取埠 $_SERVER['HTTP_HOST'] //獲取域名或主機地址 如test.cn 或http://www.test.cn 或2010.test.cn $_SERVER['SERVER_NAME'] //獲取域名或主機地址 注:只是主域名 如 test.cn $_SERVER["REQUEST_URI"] //獲取域名後的詳細地址 如:/index.php?id=123 ... $_SERVER['PHP_SELF'] //獲取PHP檔名 $_SERVER["QUERY_STRING"] //獲取PHP後的網址引數 $_SERVER['HTTP_REFERER'] //來源網頁的詳細地址
輸出:
echo "rewrite: ".$_GET["rewrite"]; echo "<br>SERVER_PORT: ".$_SERVER["SERVER_PORT"]; echo "<br>HTTP_HOST: ".$_SERVER["HTTP_HOST"]; echo "<br>SERVER_NAME: ".$_SERVER["SERVER_NAME"]; echo "<br>REQUEST_URI: ".$_SERVER["REQUEST_URI"]; echo "<br>PHP_SELF: ".$_SERVER["PHP_SELF"]; echo "<br>QUERY_STRING: ".$_SERVER["QUERY_STRING"]; echo "<br>HTTP_REFERER: ".$_SERVER["HTTP_REFERER"];
注意:
PHP中的SERVER_NAME 和HTTP_HOST的區別
位址列裡輸入以下網址:
1) http://www.test.cn/ 時
對應的值為:
HTTP_HOST: www.test.cn
SERVER_NAME: test.cn
2) http://blog.test.cn / 時
對應的值為:
HTTP_HOST: blog.test.cn
SERVER_NAME: test.cn
php $_SERVER 屬性說明
$_SERVER[ 'PHP_SELF' ] #當前正在執行指令碼的檔名,與 document root相關。 $_SERVER[ 'argv' ] #傳遞給該指令碼的引數。 $_SERVER[ 'argc' ] #包含傳遞給程式的命令列引數的個數(如果執行在命令列模式)。 $_SERVER[ 'GATEWAY_INTERFACE' ] #伺服器使用的 CGI 規範的版本。例如,“CGI/ 1.1 ”。 $_SERVER[ 'SERVER_NAME' ] #當前執行指令碼所在伺服器主機的名稱。 $_SERVER[ 'SERVER_SOFTWARE' ] #伺服器標識的字串,在響應請求時的頭部中給出。 $_SERVER[ 'SERVER_PROTOCOL' ] #請求頁面時通訊協議的名稱和版本。例如,“HTTP/ 1.0 ”。 $_SERVER[ 'REQUEST_METHOD' ] #訪問頁面時的請求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。 $_SERVER[ 'QUERY_STRING' ] #查詢(query)的字串。 $_SERVER[ 'DOCUMENT_ROOT' ] #當前執行指令碼所在的文件根目錄。在伺服器配置檔案中定義。 $_SERVER[ 'HTTP_ACCEPT' ] #當前請求的 Accept: 頭部的內容。 $_SERVER[ 'HTTP_ACCEPT_CHARSET' ] #當前請求的 Accept-Charset: 頭部的內容。例如:“iso- 8859 - 1,*,utf- 8 ”。 $_SERVER[ 'HTTP_ACCEPT_ENCODING' ] #當前請求的 Accept-Encoding: 頭部的內容。例如:“gzip”。 $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ]# 當前請求的 Accept-Language: 頭部的內容。例如:“en”。 $_SERVER[ 'HTTP_CONNECTION' ] #當前請求的 Connection: 頭部的內容。例如:“Keep-Alive”。 $_SERVER[ 'HTTP_HOST' ] #當前請求的 Host: 頭部的內容。 $_SERVER[ 'HTTP_REFERER' ] #連結到當前頁面的前一頁面的 URL 地址。 $_SERVER[ 'HTTP_USER_AGENT' ] #當前請求的 User_Agent: 頭部的內容。 $_SERVER[ 'HTTPS' ] # 如果通過https訪問,則被設為一個非空的值(on),否則返回off $_SERVER[ 'REMOTE_ADDR' ] #正在瀏覽當前頁面使用者的 IP 地址。 $_SERVER[ 'REMOTE_HOST' ] #正在瀏覽當前頁面使用者的主機名。 $_SERVER[ 'REMOTE_PORT' ] #使用者連線到伺服器時所使用的埠。 $_SERVER[ 'SCRIPT_FILENAME' ] #當前執行指令碼的絕對路徑名。 $_SERVER[ 'SERVER_ADMIN' ] #管理員資訊 $_SERVER[ 'SERVER_PORT' ] #伺服器所使用的埠 $_SERVER[ 'SERVER_SIGNATURE' ] #包含伺服器版本和虛擬主機名的字串。 $_SERVER[ 'PATH_TRANSLATED' ] #當前指令碼所在檔案系統(不是文件根目錄)的基本路徑。 $_SERVER[ 'SCRIPT_NAME' ] #包含當前指令碼的路徑。這在頁面需要指向自己時非常有用。 $_SERVER[ 'REQUEST_URI' ] #訪問此頁面所需的 URI。例如,“/index.html”。 $_SERVER[ 'PHP_AUTH_USER' ] #當 PHP 執行在 Apache 模組方式下,並且正在使用 HTTP 認證功能,這個變數便是使用者輸入的使用者名稱。 $_SERVER[ 'PHP_AUTH_PW' ] #當 PHP 執行在 Apache 模組方式下,並且正在使用 HTTP 認證功能,這個變數便是使用者輸入的密碼。 $_SERVER[ 'AUTH_TYPE' ] #當 PHP 執行在 Apache 模組方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的型別。
轉