nginx try_files指令的實現(xiàn)示例
try_files 用于指定文件的查找規(guī)則,可以配置多個規(guī)則,會按順序執(zhí)行查找規(guī)則,若找到文件則中斷查找并返回文件,若找不到則返回404響應(yīng)。
配置語法
location / {
root html;
index index.html;
try_files $uri $uri/ /index.html;
}
解釋下配置:
- root指令 設(shè)置了 靜態(tài)根目錄 為 html。
- index指令 設(shè)置了 目錄的默認文件 為 index.html。
- try_files指令 設(shè)置了 文件查找規(guī)則 為 $uri $uri/ /index.html。即3個規(guī)則,先從 $uri 查找,再從 $uri/ 目錄中查找,最后查找 /index.html。
舉個例子
針對上面的配置,當請求 http://localhost:8080/abc 時,則 $uri 為 /abc,此時,try_files 的規(guī)則可以具體為 /abc /abc/ /index.html,/ 表示根目錄 html(由 root指令 指定)。
其具體的查找邏輯如下:
檢查 html 目錄中是否存在 abc 文件(對應(yīng)第1個規(guī)則)
- 如果存在,則返回文件
- 如果不存在,則繼續(xù)下一步
檢查 html 目錄中是否存在 abc/ 目錄(對應(yīng)第2個規(guī)則)
如果存在,則再檢查 abc/ 目錄中是否存在 index.html 文件(由 index指令 指定)
- 如果存在,則返回文件
- 如果不存在,則默認返回403,因為目錄不可訪問;
如果不存在則繼續(xù)下一步
檢查 html 目錄中是否存在 index.html 文件(對應(yīng)第3個規(guī)則)
- 如果存在,則返回文件
- 如果不存在,則返回404
小結(jié): 可以看到,try_files指令 的查找邏輯和 root指令、index指令 有很大的關(guān)系。
高級用法:
先在本地嘗試查找文件,找不到則重定向到其他地址
location / {
try_files $uri $uri.html $uri/ @mongrel;
}
location @mongrel {
proxy_pass http://mongrel;
}到此這篇關(guān)于nginx try_files指令的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)nginx try_files內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx正向代理實現(xiàn)局域網(wǎng)電腦訪問外網(wǎng)的過程詳解
在工作中我遇到了一個類似的情況:在公司網(wǎng)絡(luò)中,由于管理要求,局域網(wǎng)內(nèi)的電腦不能直接訪問外網(wǎng),但是,工作上領(lǐng)導吩咐需要讓局域網(wǎng)內(nèi)的電腦能夠訪問外網(wǎng)上的某個網(wǎng)站,這時候就需要用到正向代理,本文將介紹如何配置 Nginx 實現(xiàn)這一功能,需要的朋友可以參考下2024-03-03
關(guān)于使用Keepalived實現(xiàn)Nginx的自動重啟及雙主熱備高可用問題
這篇文章主要介紹了使用Keepalived實現(xiàn)Nginx的自動重啟及雙主熱備高可用,本文通過幾個問題解析幫助大家學習Keepalived實現(xiàn)Nginx的自動重啟的相關(guān)知識,需要的朋友可以參考下2021-09-09
Nginx開啟一個參數(shù)就能讓你的WEB性能提升3倍的方法
這篇文章主要介紹了Nginx開啟一個參數(shù)就能讓你的WEB性能提升3倍的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03
Nginx + php 搭建 超性能 WEB 服務(wù)器
Nginx ("engine x") 是一個高性能的 HTTP 和反向代理服務(wù)器,也是一個 IMAP/POP3/SMTP 代理服務(wù)器。2010-03-03
keepalived+nginx實現(xiàn)雙服務(wù)器主備方案
本文主要介紹了使用keepalived和nginx實現(xiàn)雙服務(wù)器主備方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12

