如何让nginx也支持pathinfo成功实践

如何让nginx也支持pathinfo成功实践

我原来的配置:
[cc lang=”ini”]location ~ .php$ {
root           D:/SVN/person/;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}[/cc]
改成:
[cc lang=”ini”]location ~^(.+.php)(.*)$ {
root           D:/SVN/person/;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include        fastcgi_params;
}[/cc]
其它都是nginx默认配置。我的nginx是1.3.6版本。

重要提示:我在改过之后发生一次php-cgi.php程序crash。nginx的fast-cgi方式安装php本来就容易产生这种情况。改过之后发生这种情况,可能是偶然,与之前固有的问题有关,也可能与本次修改有关。

另,我是在本地做的试验成功的,具体能不能在某些特殊程序下使用尚待大家去验证。
已经验证的ThinkPHPCI都可以正常运行。