欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx location匹配模式與規(guī)則詳解

 更新時間:2025年04月23日 15:02:50   作者:自由de單車  
這篇文章主要介紹了Nginx location匹配模式與規(guī)則,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、環(huán)境

Nginx 1.19

二、匹配模式

在 Nginx 的location指令里,常用的匹配模式有:

  • 精準(zhǔn)模式(=)
  • 前綴模式,不繼續(xù)匹配正則(^~),
  • 前綴模式,繼續(xù)匹配正則,
  • 正則模式,大小寫敏感(~)
  • 正則模式,大小寫不敏感(~*)

1. 精準(zhǔn)模式

location = /path {
    default_type text/html;
    return 200 'hello';
}

2. 前綴模式(不繼續(xù)匹配正則)

location ^~ /path {
    default_type text/html;
    return 200 'hello';
}

3. 前綴模式(繼續(xù)匹配正則)

location /path {
    default_type text/html;
    return 200 'hello';
}

4. 正則模式(大小寫敏感)

location ~ /path {
    default_type text/html;
    return 200 'hello';
}

5. 正則模式(大小寫不敏感)

location ~* /path {
    default_type text/html;
    return 200 'hello';
}

Nginx會按照 精準(zhǔn)模式 -> 前綴模式 -> 正則模式 的順序來匹配。

精準(zhǔn)模式優(yōu)先級最高,匹配到后就不再繼續(xù)匹配其它模式。而前綴模式匹配到后,還要視乎指令的配置情況,來決定要不要繼續(xù)匹配正則模式。

三、需要注意的地方

1. 命中多個正則模式時的優(yōu)先級

看例子:

# 正則模式(大小寫敏感)
location ~ /a {
    default_type text/html;
    return 200 '111';
}

# 正則模式(大小寫敏感)
location ~ /a/b {
    default_type text/html;
    return 200 '222';
}

如果訪問http://localhost/a/b,會命中哪個location?答案是第一個。

因為兩個location都是正則模式(無論是否大小寫敏感),從上之下,哪個先匹配到就哪個負(fù)責(zé)處理。

2. 命中多個前綴模式時的優(yōu)先級

# 前綴模式(繼續(xù)匹配正則)
location /a {
    default_type text/html;
    return 200 '111';
}

# 前綴模式(繼續(xù)匹配正則)
location /a/b {
    default_type text/html;
    return 200 '222';
}
  • 訪問http://localhost/a,命中第一個;
  • 訪問http://localhost/a/b,命中第二個;
  • 訪問http://localhost/a/b/c,命中第二個;

簡單來說,哪個location匹配到的字符串最長,就由哪個來處理,比如http://localhost/a/b/c能匹配到的最長字符串是/a/b,所以由第二個location來處理。

前綴模式(不繼續(xù)匹配正則)也是同樣的匹配規(guī)則。

3. 命中多個不同模式時的優(yōu)先級

# 前綴模式(不繼續(xù)匹配正則)
location ^~ /a {
    default_type text/html;
    return 200 '111';
}

# 前綴模式(繼續(xù)匹配正則)
location /a/b {
    default_type text/html;
    return 200 '333';
}

# 正則模式(大小寫敏感)
location ~ /a/b {
    default_type text/html;
    return 200 '222';
}

訪問http://localhost/a/b,會命中第三個location。

前面兩個location都是前綴模式,由匹配字符串最長的處理(即第二個)。第二個location沒有阻止繼續(xù)匹配正則,于是又繼續(xù)匹配第三個location(正則模式),所以最后是由第三個location處理。

4. 兩種前綴模式不能同時存在

看例子:

# 前綴模式(不繼續(xù)匹配正則)
location ^~ /a {
    default_type text/html;
    return 200 '333';
}

# 前綴模式(繼續(xù)匹配正則)
location /a {
    default_type text/html;
    return 200 '444';
}

上面這段配置 Nginx 會報錯,因為在路徑相同的情況下,這兩種模式不能共存。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一個等號引發(fā)的血案(談Nginx正確的404配置)

    一個等號引發(fā)的血案(談Nginx正確的404配置)

    這篇文章主要介紹了Nginx正確的404配置方法,本文根據(jù)實際案例總結(jié)而來,可以說是一個等號引發(fā)的血案!需要的朋友可以參考下
    2014-08-08
  • Nginx Location指令URI匹配規(guī)則詳解小結(jié)

    Nginx Location指令URI匹配規(guī)則詳解小結(jié)

    這篇文章主要介紹了Nginx Location指令URI匹配規(guī)則詳解小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • nginx https反向代理tomcat的2種實現(xiàn)方法

    nginx https反向代理tomcat的2種實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于nginx https反向代理tomcat的2種實現(xiàn)方法,第一種方法是nginx配置https,tomcat也配置https,第二種方法是nginx采用https,tomcat采用http,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • Nginx訪問php文件直接下載的解決方法

    Nginx訪問php文件直接下載的解決方法

    本文主要給大家介紹了如何解決Nginx訪問php文件直接下載,這種情況通常是因為nginx沒有將PHP文件交給PHP解釋器處理,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Nginx proxy_set_header配置方式

    Nginx proxy_set_header配置方式

    這篇文章主要介紹了Nginx proxy_set_header配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Nginx會話保持的具體實現(xiàn)

    Nginx會話保持的具體實現(xiàn)

    會話保持是指在會話持續(xù)或會話完成一個任務(wù)或一個事務(wù)的時間段內(nèi),將客戶端請求引導(dǎo)至同一個后端Web服務(wù)器或應(yīng)用服務(wù)器,本文主要介紹了Nginx會話保持的具體實現(xiàn),感興趣的可以了解一下
    2024-07-07
  • Nginx 域名轉(zhuǎn)發(fā)的實現(xiàn)

    Nginx 域名轉(zhuǎn)發(fā)的實現(xiàn)

    這篇文章主要介紹了Nginx 域名轉(zhuǎn)發(fā)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Nginx配置中if判斷的使用

    Nginx配置中if判斷的使用

    在Nginx配置中,有時rewrite規(guī)則無法滿足復(fù)雜邏輯判斷需求,這時需要使用if語法,if可以根據(jù)文件是否存在、路徑特定條件等進(jìn)行判斷,本文就來介紹一下if判斷的使用
    2024-10-10
  • 利用SSL配置Nginx反向代理的簡單步驟

    利用SSL配置Nginx反向代理的簡單步驟

    這篇文章主要給大家介紹了關(guān)于利用SSL配置Nginx反向代理的簡單步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Nginx搭建圖片視頻服務(wù)器的部署步驟

    Nginx搭建圖片視頻服務(wù)器的部署步驟

    這篇文章主要介紹了Nginx搭建圖片視頻服務(wù)器的部署步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論