php nginx 配置导致 超全局变量$_GET 一直为空

由于这一部分对于我这个新手玩家实在吃力,于是直接检查了ngnix配置进行检查,对于这一部分代码进行对比,和上段相仿。继而继续检查Nginx其他配置,这里最有可能出问题的就是重定向位置对参数解析,果然。。。坑出现了。原因是用的 try_files,在try_files 中的uri 后面参数没写对引起的!

try_files $uri $uri/ /index.php;

改为

try_files $uri $uri/ /index.php?$query_string;

解释下:

对于$uri :

1)如果 存在文件 /Vhost/$http_host/$uri ,访问的是该文件

2)否则 如果 $uri 不是以 “/” 结尾 ,跳转到 $uri/

3)否则 如果 $uri 以 “/” 结尾 且 存在 /Cache/$http_host/$uri/index.html ,访问的是该文件

$query_string 就是nginx解析url参数的变量

Nginx里面$query_string 与$args相同,存储了所提交的所有$query_string;比如&p=2887&q=test

你可能感兴趣的:(php nginx 配置导致 超全局变量$_GET 一直为空)