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