需求
我们在使用TP(thinkphp)的时候一般会使用pathinfo方式,所以要在nginx配置一下
nginx配置pathinfo
配置nginx支持,新版本的nginx也可以使用fastcgi_split_path_info指令来设置PATH_INFO
location ~ \.php { #去掉$
root /disk1/www2;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#add the pathinfo by hua 016.5.24
fastcgi_split_path_info ^(.+\.php)(.*)$; #增加这一句
fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句
fastcgi_param SCRIPT_FILENAME /disk1/www2/yougu.dooland.com$fastcgi_script_name;
include fastcgi_params;
}
摘自:http://www.thinkphp.cn/topic/3228.html
注意事项
在php配置默认都要开启pathinfo
php开启(这个对apache才生效,LNMP不需要开启)
sed -i '/cgi.fix_pathinfo=/s/^;//' /etc/php.ini
[root@vm61 ~]# grep cgi.fix_pathinfo= /etc/php.ini
cgi.fix_pathinfo=1
需要php使用cgi.fix_pathinfo=1来完成路径信息的获取,但同时会带来安全隐患,所以选择在nginx上配置实验pathinfo