nginx配置pathinfo模式,解決訪問404


什么是pathinfo,pathinfo是PHP的一個函數

pathinfo() 函數以數組或字符串的形式返回關於文件路徑的信息。
返回的數組元素如下:
[dirname]:返回文件路徑中的目錄部分
[basename]:返回文件路徑中文件名的部分
[extension]:返回文件路徑中文件的類型的部分

pathinfo模式就是www.test.com/index.php/aa/BB/cc,訪問aa模塊下BB控制器的cc方法.兼容模式就是普通的模式加s=/參數/或者m=model&a=action這樣的 各個開發框架都自己特定的格式。

pathinfo模式需要服務器支持

修改/usr/local/php/etc下的php.ini
將cgi.fix_pathinfo=1來完成路徑信息的獲取,但同時會帶來安全隱患,需要把cgi.fix_pathinfo=0設置為0,這樣php就獲取不到PATH_INFO信息,那些依賴PATH_INFO進行URL美化的程序就失效了。

 

下面介紹另一個方法.

將倒數第五行改為include enable-php-pathinfo.conf;(我這里用的是lnmp包1.4,不同的包可能有所不同)

引入已經配置好的,pathinfo模式配置文件,看下enable-php-pathinfo.conf文件內容

    location ~ [^/]\.php(/|$)
        {
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
            include pathinfo.conf;
        }

 如果你配置的有虛擬主機,這個地方同上,修改下就OK了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM