文章出處

 

對于php$_SERVER這個全局變量 ,里面有很多的參數,慢慢的熟悉

 

1,http://localhost/aaa/ (打開aaa中的index.php)
結果:
$_SERVER['QUERY_STRING'] = "";
$_SERVER['REQUEST_URI']  = "/aaa/";
$_SERVER['SCRIPT_NAME']  = "/aaa/index.php";
$_SERVER['PHP_SELF']     = "/aaa/index.php";

2,http://localhost/aaa/?p=222 (附帶查詢)
結果:
$_SERVER['QUERY_STRING'] = "p=222";
$_SERVER['REQUEST_URI']  = "/aaa/?p=222";
$_SERVER['SCRIPT_NAME']  = "/aaa/index.php";
$_SERVER['PHP_SELF']     = "/aaa/index.php";

3,http://localhost/aaa/index.php?p=222&q=333
結果:
$_SERVER['QUERY_STRING'] = "p=222&q=333";
$_SERVER['REQUEST_URI']  = "/aaa/index.php?p=222&q=333";
$_SERVER['SCRIPT_NAME']  = "/aaa/index.php";
$_SERVER['PHP_SELF']     = "/aaa/index.php";

由實例可知:
$_SERVER["QUERY_STRING"]  獲取查詢 語句,實例中可知,獲取的是?后面的值
$_SERVER["REQUEST_URI"]   獲取 http://localhost 后面的值,包括/
$_SERVER["SCRIPT_NAME"]   獲取當前腳本的路徑,如:index.php
$_SERVER["PHP_SELF"]      當前正在執行腳本的文件名
 
 
 

$_SERVER['REQUEST_URI']和$_SERVER["HTTP_X_REWRITE_URL"]的區別 

WordPress通過301重定向實現非首先域(非www)跳轉向本來是一個很簡單事情,由于沒弄清楚$_SERVER['HTTP_X_REWRITE_URL'] 和$_SERVER['REQUEST_URI']的區別導致了循環重定向問題。
現在來具體研究下$_SERVER['HTTP_X_REWRITE_URL'] 和$_SERVER['REQUEST_URI']的區別
首先要糾正一部分的觀點就是IIS+PHP不支持$_SERVER['REQUEST_URI']
不是,不支持是PHP Version 版本的問題,php4.4.0不支持 $_SERVER['REQUEST_URI'],php5.2.5則增加了支持;

$_SERVER['REQUEST_URI']常用來獲當前URL
例如:http://www.hujuntao.com/index.php?p=3
$_SERVER['REQUEST_URI']獲得的就是/index.php?p=3這部分。
$_SERVER["HTTP_X_REWRITE_URL"]則在IIS下獲得的是當前URL,在apache下的值為空

例如:
當前URL:http://www.hujuntao.com/
IIS環境下:
$_SERVER['REQUEST_URI'] = /index.php
$_SERVER["HTTP_X_REWRITE_URL"] =/
apache環境下:
$_SERVER['REQUEST_URI'] = /
$_SERVER["HTTP_X_REWRITE_URL"] =”

當前URL:http://www.hujuntao.com/index.php
IIS環境下:
$_SERVER['REQUEST_URI'] = /index.php
$_SERVER["HTTP_X_REWRITE_URL"] =/index.php
apache環境下:
$_SERVER['REQUEST_URI'] = /index.php
$_SERVER["HTTP_X_REWRITE_URL"] =”


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()