Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nginx和PHP-FPM:查询参数不会传递给PHP大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我目前正在使用Vagrant设置一台本地开发机器.一切都按预期运行,期望查询参数不会传递给子页面上的php.

这意味着在www.example.com/?a=b上,查询参数是可访问的,但在www.example.com/subpage/?a=b上则不然.

我发现使用Google解决此问题的一般回复是修改try_files指令,但这对我不起作用.我还检查了request_order& php.ini中的variables_order – 一切都在那里正确设置.

这是我的配置:

 server {
     listen                80;
     server_name           example.com www.example.com;
     root                  /var/www/PUBLIC;

     LOCATIOn / {
         index   index.html index.htm index.php;
         try_files $uri $uri/ /index.php?$query_String;
         include /etc/Nginx/fastcgi_params;
     }

     LOCATIOn ~ \.php${
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILename $request_filename;
         include /etc/Nginx/fastcgi_params;
     }

     sendfile off;
}

因为我不太了解服务器设置和安装;管理,我在这里打砖墙,还有一些我还检查过的东西:

> $query_String在/ etc / Nginx / fastcgi_params中设置为fastcgi_param QUERY_StriNG $query_String;这似乎对我来说是正确的.
> fastcgi_params的路径是正确的

由于它不在子页面上时工作,我现在怀疑位置块不匹配,但我真的不明白这是怎么回事 – 请帮忙.

最佳答案
您需要使用$is_args作为问号& $args或$query_String用于查询字符串@R_801_11281@问号.

这是最后一个组合.

try_files $uri $uri/ /index.php$is_args$query_String;

还要确保你已经设置好了

fastcgi_param SCRIPT_FILename $document_root$fastcgi_script_name;
fastcgi_param SCRIPt_name $fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;

然后传递给它fastcgi;

fastcgi_pass 127.0.0.1:9000;

大佬总结

以上是大佬教程为你收集整理的Nginx和PHP-FPM:查询参数不会传递给PHP全部内容,希望文章能够帮你解决Nginx和PHP-FPM:查询参数不会传递给PHP所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: