解决nginx不支持pathinfo模式的方法
来源:千越SEO 浏览:39pathinfo模式就是www.seoo.net/index.php/aa/BB/cc,访问aa模块下BB控制器的cc方法。兼容模式就是普通的模式加s=/参数/,或者m=model&a=action,不同开发框架有自己特定的格式。
pathinfo模式需要服务器支持,有两种方法实现,推荐使用方法一:
方法一、
打开虚拟主机配置文件,例如:/usr/local/nginx/conf/vhost/www.seoo.net.conf,用以下代码替换图片中红框内的内容。
location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+\.php)(/.+)$; try_files $fastcgi_script_name =404; set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }
用以上代码替换图中红框内容
下图为替换完成以后
重新加载即可,service nginx reload
方法二、
修改/usr/local/php/etc下的php.ini,将cgi.fix_pathinfo=0,改为cgi.fix_pathinfo=1,但这样会带来一定的安全隐患。