1。首先在usr/local/nginx/conf/下创建pahtinfo.conf文件 然后在这个文件中添加以下内容
vi /usr/local/nginx/conf/pathinfo.conf
set $real_script_name $fastcgi_script_name; #定义变量 $path_info ,用于存放pathinfo信息 if ($fastcgi_script_name ~ "(.+?\.php)(/.*)") #定义变量 $real_script_name,用于存放真实地址 { set $real_script_name $1; #将文件地址赋值给变量 $real_script_name set $path_info $2; #将文件地址后的参数赋值给变量 $path_info } #配置fastcgi的一些参数 fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info;
2. vi /usr/local/php/etc/php.ini 将cgi.fix_pathinfo=0 修改为cgi.fix_pathinfo=1 (此步不可少)
[ 注,上两行黄色背景的,不用修改也可以。目前本人不知道是干什么用的。] 保存退出;
5。配置rewrite(thinkphp重写) 先设置URL_MODE为2(1 pathinfo ,2rewrite, 3兼容)
然后在vhost里面对应的配置文件中的access.log上面加上以下:---->可选
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }
6。重启nginx服务,/etc/init.d/nginx restart
即可支持;