url中隱藏「.php」的方法:先找到並開啟「nginx.conf」設定檔;然後加入內容「location / {ttry_files $uri $uri/ $uri.php$is_args$args; }」;最後儲存修改即可。
#推薦:《PHP視頻教學》
現在很多人都喜歡用nginx作為Web伺服器部署網站,nginx配置起來也是相當的方便,如果你的網站是PHP語言開發的話,下面我們教大家簡單的一招快速的隱藏網頁的php後綴名,實作一種Pretty URL。
使用nginx的try_files指令輕鬆搞定。
在你的nginx設定檔(nginx.conf)裡加上一句設定:
location / {ttry_files $uri $uri/ $uri.php$is_args$args;}
就可以實作隱藏網頁.php後綴名了。
try_files是nginx中的指令,有點類似rewrite,用來嘗試尋找指令後面指定路徑的檔案或目錄並傳回。
$uri表示目前請求的URI路徑,也就是URL網域後面的路徑,不帶參數。
$ is_args表示如果請求的URL中帶有參數,則$is_args代表的是“?”,如果請求的URL中沒有參數則傳回空字串,用於傳參用。
$args表示請求URL中的完整的參數。
情形1:
假設使用者存取的URL是:yuanhuaixuetang .com/about
該URL沒有傳參數, is_args為空,$args也為空
nginx伺服器會先去嘗試尋找about檔(相對於網站根目錄),如果存在則傳回該檔如果about檔不存在,則嘗試尋找about /目錄(相對於網站根目錄),如果存在則回傳。
如果about/目錄不存在,則嘗試尋找about.php檔案(相對於網站根目錄),如果存在則返回該檔案並根據請求資訊帶上後面的請求參數,該範例中實際返回的是about .php,因為原始請求不帶參數,所以實際回傳的也不帶參數。
如果上面的都找不到,可以根據nginx裡的配置回傳對應的錯誤訊息。
情形2:
ginx的解析過程如下:
該URL有傳參數, is_args為“?”,$args為id=12解析過程同上,不再細緻,該情形最終實際回傳給使用者的是:造訪網域about.php?id=12這個URL。
以上是url中如何隱藏.php的詳細內容。更多資訊請關注PHP中文網其他相關文章!