Nginx(發音為"engine X") 是一個開源的高效能的反向代理伺服器,支援很多的負載平衡演算法。 2004年發布了第一個版本,該版本由俄羅斯的Igor Sysoev創建。自那之後,該技術已被許多網站和公司採用,其中包括臉書、Google、LinkedIn、Dropbox等。
當使用 Nginx 來為 PHP 網站進行請求轉送時,由於 PHP 中的變數名稱區分大小寫,這可能會導致一些問題。特別是在 Nginx 的配置中,訪問 URL 時如果包含大寫字母,可能會出現一個"404 Not Found"的錯誤。 Linux核心預設區分大小寫,而Nginx則根據條件區分大小寫。
為了解決這個問題,我們需要禁止 Nginx 區分大小寫地處理PHP變數名稱。
編輯Nginx 設定檔
#編輯您的Nginx 設定文件,這個檔案可能是/etc/nginx/nginx.conf或/etc /nginx/sites-available/YOUR_SITE_NAME等。最好在進行任何修改之前先備份該檔案。
新增以下程式碼
在nginx.conf的http區塊中加入以下程式碼:
http { . . . #忽略PHP变量名称的大小写 fastcgi_param PHP_VALUE "cgi.fix_pathinfo=off"; . . . }
3.重啟Nginx
在修改設定檔後,需要重新啟動Nginx 以使變更生效。您可以使用以下命令:
systemctl restart nginx
測試
現在您可以存取包含大寫字母URL 位址對應的頁面了,由於您已停用了Nginx對PHP變數名稱的區分大小寫,現在您可以正常存取這些頁面。
以上是怎麼在Nginx中配置以禁止區分PHP變數名稱大小寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!