網站伺服器配置nginx.conf 有誤,導致伺服器 $_SERVER的PATH_INFO 無法獲取

linuxMr發表於2021-09-14

問題:

配置maccms時,配置nginx.conf成功之後,網站只能訪問首頁,無法訪問其他的頁面 ;

問題分析

環境使用的php nginx mysql ; 使用的是tp5的框架 ,問題發現配置好伺服器之後發現無法訪問其他頁面,使用debug除錯發現無法解析路由 ;

原因:tp5 解析路由使用了$_SERVER中PATH_INFO,但是如圖配置無法獲取path_Info , 導致路由解析失敗 ; 訪問其他的路由,都跳轉到首頁 ,

之前的錯誤配置

網站伺服器配置nginx.conf 有誤,導致伺服器 $_SERVER的PATH_INFO 無法獲取

解決辦法

調整後的伺服器配置

網站伺服器配置nginx.conf 有誤,導致伺服器 $_SERVER的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 伺服器;

之前的訪問的問題就可以解決了。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章