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