nginx 配置pathinfo

之前幫人用tp3.2做了一個微信公眾號,公眾號挺簡單的,過了一段時間客戶要更換服務器,打算把之前的東西都弄到新的服務器上,痛苦的經歷就開始嘍,,,

之前他們用的也是Nginx,可能是之前某大神早已經配置好了 吧,所以我用之前的那個服務器還是聽順利 的,現在換了新的,Nginx 怎么配置完全茫然啊,因為是改東西,所以不可能完全學,一直在找那種能直接拿過來用的配置代碼,最終在慕課上搜到了答案,分享給大家,希望都能用的到,這種問題遇到還是很頭痛的

1。打開nginx.conf配置文件,找到類似如下代碼的地方(不同版本的nginx可能稍有不同,但大體都差不多)

? ? ? ? ? ? ? ? ? ? location ~ \.php$

? ? ? ? ? ? ? ? ? ?{

? ? ? ? ? ? ? ? ? ? ? ? ? ?#原有代碼

? ? ? ? ? ? ? ? ? ? ? ? }


2.將其改成:

#去掉$是為了不匹配行末,即可以匹配.php/,以實現pathinfo

location ~ \.php

{

#原有代碼

#定義變量$path_info

set$path_info"";

#定義變量$real_script_name,用于存放真實地址

set$real_script_name$fastcgi_script_name;

#如果地址與引號內的正則表達式匹配

if($fastcgi_script_name~"^(.+?\.php)(/.+)$")?{

#將文件地址賦值給變量$real_script_name

set$real_script_name$1;

#將文件地址后的參數賦值給變量$path_info

set$path_info$2;

}

#配置fastcgi的一些參數

fastcgi_param?SCRIPT_FILENAME$document_root$real_script_name;

fastcgi_param?SCRIPT_NAME$real_script_name;

fastcgi_param?PATH_INFO$path_info;

}

3 保存重啟nginx

另外配置nginx的另一個小技巧順便也記一下,

server {

root ?var/www/

index ?html/index ?html/index.php ?html/index.html

}

這樣配置實現的功能是配置了網站的根目錄是 var/www,但是如果你直接訪問域名的話他會自動找var/www/html/ ?下 的相關文件,之所以想到這個是因為我給人做微信公眾號的時候他們本來已經有一個pc版的網站,假設放在了 var/www/web 目錄下,他們之前把網站的根目錄設置成了var/www/web ,但是我的項目weixin 這個文件夾放在他們之前的那個網站web文件夾里顯然有點不是很合適,但是用戶訪問域名的時候肯定是要看到人家之前做的那個門戶網站的,所以把服務器的配置改成這樣就可以實現相應的需求了,哈哈

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.簡介: ? Nginx:engine X ,2002年,開源,商業版? http協議:web服務器(類似于ht...
    尛尛大尹閱讀 1,895評論 0 3
  • Nginx簡介 解決基于進程模型產生的C10K問題,請求時即使無狀態連接如web服務都無法達到并發響應量級一萬的現...
    魏鎮坪閱讀 2,079評論 0 9
  • 《老男孩Linux運維》筆記 隱藏Nginx軟件版本號 一般來說,軟件的漏洞都和版本有關。因此要盡量隱藏對訪問用戶...
    Zhang21閱讀 3,695評論 0 28
  • 我多么想念你走在我身邊的樣子 想起來我的愛就不能停止 轉眼如隔世 我有多久沒有見到你 甚至快記不起你看我時的樣子 ...
    哦吼哦啦閱讀 256評論 0 0
  • 就是很疲倦,很累,很累 是放星星放累了的累法,是走在云上走虛了的虛法。 但是吧,其實也就是一小陣。 其他的時候,我...
    軒軒糖閱讀 262評論 0 0