龙空技术网

linux配置 nginx.conf 有误,导致$_SERVER的 PATH_INFO 无法获取

卷墨繁华 146

前言:

如今姐妹们对“linux检查nginx配置是否正确”大概比较注重,各位老铁们都需要剖析一些“linux检查nginx配置是否正确”的相关文章。那么小编同时在网摘上网罗了一些关于“linux检查nginx配置是否正确””的相关知识,希望你们能喜欢,大家快快来学习一下吧!

问题

  配置 maccms 时,配置 nginx.conf 成功之后,网站只能访问首页,无法访问其他的页面 ;

问题分析

  环境使用的 php nginx mysql ; 使用的是 tp5 的框架 ,问题是配置好服务器之后发现无法访问其他页面,使用 debug 调试发现无法解析路由 ;

原因:

  tp5 解析路由使用了 $_SERVER 中 PATH_INFO,但是如图配置无法获取 path_Info , 导致路由解析失败 ; 访问其他的路由,都跳转到首页 ,

之前的错误配置

解决办法

  调整后的服务器配置

location ~ [^/]\.php(/|$) {#fastcgi_pass remote_php_ip:9000;fastcgi_pass unix:/dev/shm/php-cgi.sock;fastcgi_index index.php;fastcgi_split_path_info ^(.+\.php)(.*)$; #增加这一句fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句include fastcgi.conf;}

  配置成功之后:重新启动一下 nginx 服务器;

  之前的访问的问题就可以解决了。

标签: #linux检查nginx配置是否正确