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

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

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

一、環(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會(huì)按照 精準(zhǔn)模式 -> 前綴模式 -> 正則模式 的順序來匹配。

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

三、需要注意的地方

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

看例子:

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

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

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

因?yàn)閮蓚€(gè)location都是正則模式(無論是否大小寫敏感),從上之下,哪個(gè)先匹配到就哪個(gè)負(fù)責(zé)處理。

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

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

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

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

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

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

# 前綴模式(不繼續(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,會(huì)命中第三個(gè)location

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

4. 兩種前綴模式不能同時(shí)存在

看例子:

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

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

上面這段配置 Nginx 會(huì)報(bào)錯(cuò),因?yàn)?strong>在路徑相同的情況下,這兩種模式不能共存。

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Nginx proxy_set_header配置方式

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

    Nginx會(huì)話保持的具體實(shí)現(xiàn)

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

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

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

    Nginx配置中if判斷的使用

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

    利用SSL配置Nginx反向代理的簡(jiǎn)單步驟

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

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

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

最新評(píng)論