Nginx开启pathinfo支持
PATH_INFO是一个CGI/1.1的规范,现如今各种PHP框架都使用PATH_INFO作为路由载体,配合Rewrite隐藏php文件路径就能够实现优雅的网站URL规划。然而Nginx默认不支持pathinfo,配置这个功能也便成了Nginx重要的基础性配置。
location ~ [^/]\.php(/|$)
{
...
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
try_files $fastcgi_script_name =404;
...
}
安全考虑需要检查php.ini下的cgi.fix_pathinfo配置为0(关闭) 原理参考鸟哥文章《Nginx + PHP CGI的一个可能的安全漏洞》
cgi.fix_pathinfo=0