先贴解决方法,把fastcgi的pathinfo注释掉或者重写兼容的,本人是注销了。
这几天在捣鼓yaf,发现按照教程写了nginx下的rewrite功能后始终无法得到路径解析,uri始终为空。
试了各种方法,还是都重新定位到index.php下,但是路径解析都是空。所以造成了默认index/index/index。参数也获取不到。
#
location ~ \.php$ {
root /web/data/wwwroot/demo4.helens.com.cn;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.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;
}
注释掉PATH_INFO即可,前些天在 哪里好像注意到这个情况,但是没在意,结果这两天栽倒这个坑里了。
原因应该是yaf的路径解析冲突了,fastcgi解析去了?以后有时间再去看吧。