亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Nginx中try_files指令的實(shí)現(xiàn)示例

 更新時(shí)間:2024年10月25日 10:08:32   作者:我叫白小猿  
try_files是Nginx配置中的一個(gè)指令,用于檢查文件是否存在,并根據(jù)存在情況處理請求,本文就來介紹一下Nginx中try_files指令的實(shí)現(xiàn)示例,感興趣的可以了解一下

1. 簡介

try_files是Nginx中一個(gè)非常強(qiáng)大且常用的指令,其用于按順序檢查文件是否存在,并將請求傳遞給第一個(gè)找到的文件,或者在所有文件都未找到時(shí),執(zhí)行一個(gè)回退URI。該指令在配置靜態(tài)網(wǎng)站或單頁面應(yīng)用(SPA)時(shí)特別有用,因?yàn)槠淇梢源_保Nginx優(yōu)先服務(wù)靜態(tài)文件,而只有在靜態(tài)文件不存在時(shí)才將請求轉(zhuǎn)發(fā)給后端應(yīng)用或提供回退頁面。

2. 基本語法

try_files file ... uri;
  • file ... : 一個(gè)或多個(gè)要檢查的文件路徑。Nginx會按照提供的順序檢查這些文件是否存在;
  • uri:若所有指定的文件都不存在,則執(zhí)行回退URI,該URI可以是一個(gè)靜態(tài)頁面(如404頁面),也可以是一個(gè)請求處理程序(如一個(gè)處理所有前端路由的PHP腳本或Node.js應(yīng)用的入口點(diǎn));

try_files使用示例:

try_files  $uri $uri/ /TEST/index.html;

這里的 $uri 是客戶端請求的原始 URI。

讓我們逐步解釋這條指令:

1)$uri: Nginx 會首先嘗試直接從請求的 URI 中查找文件。例如,如果用戶請求 /about, Nginx 會嘗試查找 /about 文件。
2)$uri/: 如果第一步?jīng)]有找到文件,Nginx 會嘗試將請求的 URI 視為目錄,并在后面添加斜杠 /。例如,如果用戶請求 /about, Nginx 會嘗試查找 /about/ 目錄。
3)/TEST/index.html: 如果前兩步都沒有成功找到文件或目錄,Nginx 會嘗試返回 /TEST/index.html 文件。

則:

  • 如果用戶請求的是一個(gè)存在的文件(如 /about),Nginx 將直接返回該文件。
  • 如果用戶請求的是一個(gè)目錄(如 /about/),Nginx 將嘗試返回該目錄下的默認(rèn)文件。
  • 如果上述兩種情況都沒有發(fā)生,Nginx 最終會嘗試返回 /TEST/index.html。
  • 這樣的配置非常適合單頁應(yīng)用(SPA)或那些希望為所有未找到的路由提供一個(gè)默認(rèn)頁面的應(yīng)用程序。例如,如果你有一個(gè)前端應(yīng)用托管在 /TEST/ 下,并且所有的頁面都在 /TEST/index.html 中呈現(xiàn),那么這個(gè)配置就能確保無論用戶請求什么路徑,都能看到應(yīng)用的首頁。

3. 案例

3.1 靜態(tài)網(wǎng)站

假設(shè)有一個(gè)靜態(tài)網(wǎng)站,其HTML、CSS和JS文件都存放在/data/www目錄下,并希望Nginx首先嘗試直接服務(wù)這些靜態(tài)文件,若文件不存在,則返回404錯(cuò)誤。

server {  
    listen       80;  
    server_name  example.com;  
  
    root   /data/www;  
  
    location / {  
        try_files $uri $uri/ =404;  
    }  
}

在該例子中,$uri表示請求的URI(不包括主機(jī)名和端口),若$uri指向的文件或目錄存在,Nginx將直接服務(wù)它,若$uri指向的文件不存在但目錄存在,Nginx會嘗試在末尾添加斜杠并重試請求,若仍未找到文件,則Nginx將返回404錯(cuò)誤。

3.2 單頁面應(yīng)用

對于單頁面應(yīng)用,希望無論請求什么URL,都返回同一個(gè)HTML文件(通常是index.html),然后讓前端路由處理這些URL,這可以通過將try_files指令的回退設(shè)置為該HTML文件來實(shí)現(xiàn)。

server {  
    listen       80;  
    server_name  myapp.com;  
  
    root   /usr/share/nginx/html;  
  
    location / {  
        try_files $uri $uri/ /index.html;  
    }  
}

該配置中,Nginx首先嘗試服務(wù)請求的文件或目錄,若找不到,則會回退到/index.html,這允許前端路由接管并顯示正確的頁面,這種方法特別適用于React、Vue或Angular等現(xiàn)代前端框架構(gòu)建的單頁面應(yīng)用。

到此這篇關(guān)于Nginx中try_files指令的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Nginx try_files指令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 給小白的 Nginx 30分鐘入門指南(小結(jié))

    給小白的 Nginx 30分鐘入門指南(小結(jié))

    這篇文章主要介紹了給小白的 Nginx 30分鐘入門指南(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • nginx代理實(shí)現(xiàn)靜態(tài)資源訪問的示例代碼

    nginx代理實(shí)現(xiàn)靜態(tài)資源訪問的示例代碼

    本文主要介紹了nginx代理實(shí)現(xiàn)靜態(tài)資源訪問的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Nginx動(dòng)靜分離實(shí)現(xiàn)案例代碼解析

    Nginx動(dòng)靜分離實(shí)現(xiàn)案例代碼解析

    這篇文章主要介紹了Nginx動(dòng)靜分離實(shí)現(xiàn)案例代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Nginx 解決WebApi跨域二次請求以及Vue單頁面的問題

    Nginx 解決WebApi跨域二次請求以及Vue單頁面的問題

    下面小編就為大家分享一篇Nginx 解決WebApi跨域二次請求以及Vue單頁面的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 本地HTTPS環(huán)境搭建的完整步驟記錄

    本地HTTPS環(huán)境搭建的完整步驟記錄

    這篇文章主要給大家介紹了關(guān)于本地HTTPS環(huán)境搭建的相關(guān)資料,文中通過示例代碼將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • 詳解使用ChatGPT解決Nginx反向代理的問題

    詳解使用ChatGPT解決Nginx反向代理的問題

    這篇文章主要為大家介紹了使用ChatGPT解決Nginx反向代理的問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • upstream模塊在nginx配置文件中的作用詳解

    upstream模塊在nginx配置文件中的作用詳解

    這篇文章主要為大家介紹了upstream模塊在nginx配置文件中的作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Nginx搭建https服務(wù)器教程

    Nginx搭建https服務(wù)器教程

    這篇文章主要為大家詳細(xì)介紹了Nginx搭建https服務(wù)器教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Nginx中map指令的具體使用

    Nginx中map指令的具體使用

    Nginx的map指令是一個(gè)強(qiáng)大的工具,用于根據(jù)變量的值來設(shè)置另一個(gè)變量的值,本文就來介紹一下Nginx中map指令的具體使用,感興趣的可以了解一下
    2024-07-07
  • nginx訪問控制的實(shí)現(xiàn)示例

    nginx訪問控制的實(shí)現(xiàn)示例

    這篇文章主要介紹了nginx訪問控制的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論