【已解决】nginx开启path_info后的一个BUG
本帖最后由 堡塔运维小林 于 2023-3-20 17:26 编辑环境:
系统::windows面板:BT7.7.0
语言:php7.2
开启TP的伪静态后,可能存存类似 /index.php/A/B 此类的访问,那么,nginx 的配置文件php/72.conf 将会出现问题,例如:
location ~ \.php(.*)$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:20072;
fastcgi_indexindex.php;
fastcgi_split_path_info^((?U).+\.php)(/?.+)$;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
fastcgi_paramPATH_INFO$fastcgi_path_info;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
include fastcgi_params;
}
像/index.php/A/B 此类的URI,将会优先匹配到此规则,而 try_files将会抛出404错误。
您好,这是一个安全参数配置,尝试在配置中添加#号注释是否可以解决? 注释是可以解决的,我知道try_files具有安全性,但是这的确会引起PATH_INFO功能的异常。 建议在后续版本中,使用其它方法解决一下。例如用IF条件判断等等。
页:
[1]