有時我們在做虛擬靜態化或者讓路徑看起來很漂亮的時候,可能會看到http://www.example.com/index.php/html1這樣URL地址,而在訪問的實際是根目錄下的index.php文件,而把 " /> 成人无码在线超碰视频,99久久蜜臀亚洲AV无码精品,日产久久视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

APACHE的AcceptPathInfo指令使用介紹

學習zfdemo的時候提到設置 AcceptPathInfo 指令.

有時我們在做虛擬靜態化或者讓路徑看起來很漂亮的時候,可能會看到http://www.example.com/index.php/html1這樣URL地址,而在訪問的實際是根目錄下的index.php文件,而把/html1做為PATH_INFO環境變量傳遞給腳本。而對于apache來說上面的地址能否正確運行取決于AcceptPathInfo指令的配置

AcceptPathInfo 指令

說明 是否接受附帶多余路徑名信息的請求
語法 AcceptPathInfo On|Off|Default
默認值 AcceptPathInfo Default
作用域 server config, virtual host, directory, .htaccess
覆蓋項 FileInfo
狀態 核心(C)
模塊 core
兼容性 僅在 Apache 2.0.30 及以后的版本中可用

此指令決定是否接受在實際文件名(或實際目錄中一個不存在的文件)后跟隨多余路徑名信息的請求。這個多余的路徑名信息可以當作PATH_INFO環境變量傳遞給腳本。

比如說,假設/test/所指向的目錄下只包括一個文件:here.html ,那么對/test/here.html/more和/test/nothere.html/more的請求都會將PATH_INFO環境變量設為"/more"。

AcceptPathInfo指令的取值范圍:

Off
僅當一個請求映射到一個真實存在的路徑時,才會被接受。這樣,如上述/test/here.html/more這樣在真實文件名后跟隨一個路徑名的請求將會返回一個"404 NOT FOUND"錯誤。
On
只要前導路徑可以映射到一個真實存在的文件,就可以接受該請求。這樣,只要上述/test/here.html能夠映射到一個有效的文件,那么對/test/here.html/more的請求就會被接收。
Default
是否接收附帶多余路徑名信息的請求由其對應的處理器來決定。對應普通文本的核心處理器默認會拒絕PATH_INFO 。而用于伺服腳本的處理器,比如cgi-script和isapi-isa,默認會接受PATH_INFO 。
AcceptPathInfo指令存在的首要目的就是允許您覆蓋處理器關于是否接受PATH_INFO的默認設置。這種覆蓋是很必要的。比如說,當您使用了類似INCLUDES這樣的過濾器來根據PATH_INFO產生內容時。核心處理器通常會拒絕這樣的請求,而您就可以用下述的配置使這樣的腳本成為可能:

Options +Includes
SetOutputFilter INCLUDES
AcceptPathInfo On

apache 2.0以上中的默認的是沒有acceptpathinfo

從APACH2.0.30以上服務器中去掉了acceptpathinfo;如果需要的話需要在http.conf中添加AcceptPathInfo On這一條。即原來的

Options FollowSymLinks includes
AllowOverride None
改成
Options FollowSymLinks includes
AllowOverride None
 AcceptPathInfo On

此指令決定了是否接受包含在某確定文件(或是某現有目錄的一個不存在的文件)后附加的路徑信息。此路徑信息將在腳本里以PATH_INFO環境變量的形式出現。
比如說,假設/test/所指向的目錄下只包括一個文件:here.html。那么對/test/here.html/more和/test/nothere.html/more的請求都會得到/more這樣的PATH_INFO變量。
AcceptPathInfo指令的三個參數為:
off
僅當一個請求映射到一個真實存在的路徑時,它才會被接受。這樣,如上述/test/here.html/more這樣的在真實文件名后跟隨一個路徑名的請求將會返回一個404 NOT FOUND錯誤。
on
如果前面的路徑映射到一個真實存在的文件,此請求將被接受。如果/test/here.html映射著一個有效的文件,上例中/test/here.html/more這個請求就會被接受。
default
對于附加路徑名的請求的處理方式由其對應的處理器來決定。對應普通文本的核心處理器默認會拒絕PATH_INFO。而用于伺服腳本的處理器,比如cgi-script和isapi-isa,默認會接受PATH_INFO。

php中的全局變量$_SERVER['PATH_INFO']是一個很有用的參數,眾多的CMS系統在美化自己的URL的時候,都用到了這個參數。

對于下面這個網址:
http://www.test.com/index.php/foo/bar.html?c=index&m=search
我們可以得到 $_SERVER['PATH_INFO'] = ‘/foo/bar.html',而此時 $_SERVER['QUERY_STRING'] = 'c=index&m=search';
通常,我們最初開始php程序編寫的時候,都會使用諸如: http://www.test.com/index.php?c=search&m=main 這樣的URL,這種URL不僅看起來非常奇怪,而且對于搜索引擎也是非常不友好的。很多搜索引擎收錄的時候,都會忽略Query String之后的內容,google雖然不會忽略Query String,但是對于其他不含Query String的頁面,會給于比較高的PR值。

下面是一段解析PATH_INFO的非常簡單的代碼:

復制代碼 代碼如下:
<?php
if( !isset( $_SERVER['PATH_INFO'] ) ){
$pathinfo = 'default';
}else{
$pathinfo = explode('/', $_SERVER['PATH_INFO']);
}
if( is_array($pathinfo) AND !empty($pathinfo) ){
$page = $pathinfo[1];
}else{
$page = 'a.php';
}
require "$page.php";
?>


php文件名后加斜線“/”不能正常訪問,報not found錯誤
系統壞后,重裝系統后,配置php環境。用的軟件和以前的版本都相同。

環境配置好后,因工作項目都是單入口文件,index.php文件后邊加了斜線才能進入。沒換系統前都可以訪問,可以排除軟件版本問題.

剛想進入工作項目,就報not found 不知為何。測試后得知,php文件名后加斜線“/”不能正常訪問

詢問多人,未果。google 度娘 未果

找公司一資深php工程師
說是apache有這樣一個指令 :AcceptPathInfo

在apache的配置文件里面加上:AcceptPathInfo on 就ok了。

php技術APACHE的AcceptPathInfo指令使用介紹,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一级做a爰片久久毛片苍井优 | 在线观看中文字幕国产 | 色久天 | 伊人久久大香线蕉综合99 | 久久精品嫩草影院免费看 | 国产精品成人免费视频99 | 久久久无码精品亚洲日韩按摩 | xx在线观看 | 8050午夜二级一片 | 男人插曲女人的叫声 | 亚洲色偷偷偷网站色偷一区人人藻 | 日本肉肉口番工全彩动漫 | 久久视频在线视频观看精品15 | 精品人妻一区二区三区视频53 | 鲁大师影院在线视频在线观看 | 成人免费看片45分钟 | 欧美日韩北条麻妃一区二区 | 东京热一本无码av | 国产麻豆精品人妻无码A片 国产麻豆精品久久一二三 国产麻豆精品传媒AV国产在线 | 亚洲精品AV无码喷奶水糖心 | 浪荡女天天不停挨CAO日常视 | 7723手机游戏破解版下载 | 色欲色香天天天综合 | 国产亚洲精品成人AV久久 | 亚洲日本国产综合高清 | 午夜理论在线观看不卡大地影院 | 久久国产精品福利影集 | 蜜桃最新网址 | 国产电影午夜成年免费视频 | 男宿舍里的呻吟h | CHINA篮球体育飞机2023 | 成人在线不卡视频 | 少女free大陆| 99re2.久久热最新地址 | 黄页网址大全免费观看 | 中字幕视频在线永久在线 | 国产 亚洲 另类 欧美 在线 | 肉多荤文高h羞耻校园 | 亚洲熟伦熟女专区 | 内射人妻骚骚骚 | 国产欧美精品一区二区三区-老狼 |