解决yaf在nginx配置下rewrite异常,所有url都定位到application(index模块)下IndexController indexAction,用#注释的rewrite规则不行,用下面的可以,原因估计是PATH_INFO传递问题,详细细节不知道,这样可以跑起来。
版本:
windows 7+php 7.2.7 + yaf 3.0.8 +upupw nginx版64位正式版1807.1
这是我的.conf
在nginx.conf里include即可
//h5.conf
server {
listen 80;
server_name www.test.com;
root "C:\UPUPW_NP7.2_64\htdocs\dev\public";
location / {
index index.html index.htm index.php;
if (!-e $request_filename) {
#rewrite ^/(.*) /public/index.php?$1 last;
rewrite ^/(.*) /index.php/$1 last;
}
}
location ~ ^.+\.php {
fastcgi_pass bakend;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi.conf;
}
charset utf-8;
}