1. 程式人生 > >Nginx下訪問原始碼.html檔案重定向到相對目錄下.php檔案

Nginx下訪問原始碼.html檔案重定向到相對目錄下.php檔案

                                                        請求報錯404故障

故障描述:

LNMP環境下發布商城原始碼,通過web請求訪問.html檔案報404錯誤請求檔案不存在,在原始碼裡只存在.php檔案

例子圖:

程式預設訪問時根路徑下的這個.html檔案,但這個檔案型別在原始碼裡並不存,原始碼裡只有.php檔案型別。

當你手工將字尾名改成.php之後就可以正常顯示網頁內容;

經過排查是缺少偽靜態規則

#“/”一般匹配 “=”絕對匹配

location / {

# if判斷請求檔案是否存在,存在為真則不執行下面的重寫,不存在則為假執行下面重寫語句

if (!-e $request_filename) {

#將訪問/根目錄下的 .html 檔案重定向到相對路徑下的 .php 檔案,

rewrite ^/(.*)\.html$ /$1.php last;

}

}

註釋:

"last" 代表匹配成功後又從頭開始去匹配,當匹配不成功則跳到下一條

"break" 代表跳過這段重寫規則執行下一條重寫規則

"^" 代表正則表示式開始

"/(.*)\.html " 代表根目錄下所有 .html 檔案型別

"$" 代表一個正則表示式結束

"/" 代表根目錄

"$1" 代表呼叫第一個引數,也就是前一個正則表示式,或者說是"/(.*)\.html "這裡面的內容

".php" 重定向成這個型別的檔案

加入偽靜態規則之後重啟服務再去訪問:

故障解決!