本篇內(nèi)容介紹了“PATH_INFO模式是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出城口免費(fèi)做網(wǎng)站回饋大家。
PATH_INFO 模式是偽靜態(tài)的一種。
我們可以使用PATH_INFO來(lái)代替Rewrite來(lái)實(shí)現(xiàn)偽靜態(tài)頁(yè)面, 另外不少PHP框架也使用PATH_INFO來(lái)作為路由載體
偽靜態(tài)頁(yè)面是靜態(tài)URL與動(dòng)態(tài)URL互通的一個(gè)橋梁,它是指動(dòng)態(tài)網(wǎng)址通過(guò)URL重寫(xiě)的手段去掉其動(dòng)態(tài)參數(shù),使URL靜態(tài)化,但在實(shí)際的網(wǎng)頁(yè)目錄中并沒(méi)有重寫(xiě)URL。
簡(jiǎn)單來(lái)說(shuō),偽靜態(tài)URL就是通過(guò)服務(wù)器轉(zhuǎn)換偽裝文件名或地址,使該頁(yè)面類(lèi)似于靜態(tài)頁(yè)面,但服務(wù)器上沒(méi)有獨(dú)立存在的文件,其本質(zhì)還是動(dòng)態(tài)頁(yè)面。
PATH_INFO是服務(wù)器狀態(tài)中的一個(gè)參數(shù),PHP通過(guò)$_SERVER[‘PATH_INFO’]可以查看內(nèi)容
Apache
在Apache中, 當(dāng)不加配置的時(shí)候, 對(duì)于PHP腳本, Accept pathinfo是默認(rèn)接受的
apache下配置如下
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*).html$ index.php/$1 [QSA,PT,L]
Nginx
通過(guò) fastcgi_split_path_info
指令支持pathinfo模式,
簡(jiǎn)單的配置如下:
server { listen 80; server_name chris.demo.com; root /home/wwwroot/chris/; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } location ~ \.php(.*)$ { fastcgi_index index.php; ##默認(rèn)是使用unix socket 通訊,后面修改了php-fpm 的配置,改為 tcp 通訊 ##fastcgi_pass unix:/run/php/php7.3-fpm.sock; ##unix socket fastcgi_pass 127.0.0.1:9000; ##TCP ##增加 fastcgi_split_path_info指令,將URI匹配成PHP腳本的URI和pathinfo兩個(gè)變量 ##即$fastcgi_script_name 和$fastcgi_path_info fastcgi_split_path_info ^(.+\.php)(.*)$; ##PHP中要能讀取到pathinfo這個(gè)變量 ##就要通過(guò)fastcgi_param指令將fastcgi_split_path_info指令匹配到的pathinfo部分賦值給PATH_INFO ##這樣PHP中$_SERVER['PATH_INFO']才會(huì)存在值 fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }
配置完成后重啟nginx , php-fpm 服務(wù),已經(jīng)可以成功請(qǐng)求
創(chuàng)建入口文件 index.php , 通過(guò)$_SERVER[‘PATH_INFO’]獲取信息
http://chris.demo.com/index.php/Home/index/chris
可以看到,我們獲取到了入口文件后的路徑信息。
“PATH_INFO模式是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
分享文章:PATH_INFO模式是什么
分享地址:http://weahome.cn/article/picjos.html