最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文詳解Nginx中l(wèi)ocation的使用方法

 更新時(shí)間:2026年04月02日 09:11:30   作者:兩只龍寶  
本篇博客介紹了nginx的核心配置模塊中的location部分的詳解,包括location的語(yǔ)法規(guī)則(=? ^~? ~? ~*? 不帶符號(hào)? \)的功能、用法以及詳細(xì)的示例,通過(guò)本篇博客可以加深對(duì)location的使用的理解,需要的朋友可以參考下

前情提要:本篇博客介紹了nginx的核心配置模塊中的location部分的詳解,包括location的語(yǔ)法規(guī)則(=  ^~  ~  ~*  不帶符號(hào)  \)的功能、用法以及詳細(xì)的示例。通過(guò)本篇博客可以加深對(duì)location的使用的理解。

一、location簡(jiǎn)介

1.1 location使用介紹

  • 在一個(gè)server中l(wèi)ocation配置段可存在多個(gè),用于實(shí)現(xiàn)從uri到文件系統(tǒng)的路徑映射;
  • ngnix會(huì)根據(jù)用戶請(qǐng)求的URI來(lái)檢查定義的所有l(wèi)ocation,按一定的優(yōu)先級(jí)找出一個(gè)最佳匹配,而后應(yīng)用其配置在沒(méi)有使用正則表達(dá)式的時(shí)候,nginx會(huì)先在server中的多個(gè)location選取匹配度最高的一個(gè)uri
  • uri是用戶請(qǐng)求的字符串,即域名后面的web文件路徑,然后使用該location模塊中的正則url和字符串,如果匹配成功就結(jié)束搜索,并使用此location處理此請(qǐng)求。

1.2 location語(yǔ)法規(guī)則

# 語(yǔ)法規(guī)則:
location [ = | ~ | ~* | ^~ ] uri { ... }
=           #用于標(biāo)準(zhǔn)uri前,需要請(qǐng)求字串與uri精確匹配,大小敏感,如果匹配成功就停止向下匹配并立即處理請(qǐng)求
^~ ?        #用于標(biāo)準(zhǔn)uri前,表示包含正則表達(dá)式,并且匹配以指定的正則表達(dá)式開(kāi)頭
			#對(duì)uri的最左邊部分做匹配檢查,不區(qū)分字符大小寫(xiě)
~ ?         #用于標(biāo)準(zhǔn)uri前,表示包含正則表達(dá)式,并且區(qū)分大小寫(xiě)
~* ?        #用于標(biāo)準(zhǔn)uri前,表示包含正則表達(dá)式,并且不區(qū)分大寫(xiě)
不帶符號(hào)	 #匹配起始于此uri的所有的uri
\ ?          #用于標(biāo)準(zhǔn)uri前,表示包含正則表達(dá)式并且轉(zhuǎn)義字符??梢詫? . * ?等轉(zhuǎn)義為普通符號(hào)
#匹配優(yōu)先級(jí)從高到低:
=, ^~, ~/~*, 不帶符號(hào)

二、location后面不加修飾符示例

在server部分使用location配置一個(gè)web界面,例如:當(dāng)訪問(wèn)nginx服務(wù)器的/logo.jpg的時(shí)候要顯示指定 HTML文件的內(nèi)容,精確匹配一般用于匹配組織的logo等相對(duì)固定的URL,匹配優(yōu)先級(jí)最高

[root@Nginx ~]# vim /usr/local/nginx/conf/conf.d/vhost.conf 
server {
        listen 80;
        server_name www.doubledragon.org;
        location /null {					# 不帶修飾符,代表匹配以/null開(kāi)頭的所有請(qǐng)求
                return 200 "/null-1";
        }
}  

# 訪問(wèn)測(cè)試
[root@Nginx ~]# curl www.doubledragon.org/null
/null-1
[root@Nginx ~]# curl www.doubledragon.org/null/
/null-1
[root@Nginx ~]# curl www.doubledragon.org/null/1
/null-1
[root@Nginx ~]# curl www.doubledragon.org/null/2
/null-1
[root@Nginx ~]# curl www.doubledragon.org/null1
/null-1
[root@Nginx ~]# curl www.doubledragon.org/null12
/null-1
[root@Nginx ~]# curl www.doubledragon.org/null123
/null-1

# 修改配置文件
server {
        listen 80;
        server_name www.doubledragon.org;
        location /null {
                return 200 "/null-1";
        }

        location /blog/ {
                return 200 "/blog/";		# 不帶修飾符,代表匹配/blog/開(kāi)頭的所有請(qǐng)求
        }       
}

# 重新測(cè)試
[root@Nginx ~]# curl www.doubledragon.org/blog/23
/blog/
[root@Nginx ~]# curl www.doubledragon.org/blog1/23
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>
[root@Nginx ~]# curl www.doubledragon.org/blog
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>
[root@Nginx ~]# curl www.doubledragon.org/blog/
/blog/

三、location后面加 = 示例

# 編輯子配置文件
[root@Nginx ~]# vim /usr/local/nginx/conf/conf.d/vhost.conf 
server {
        listen 80;
        server_name www.doubledragon.org;
        location = /login/ {
                return 200 "=/login/";		# 精確匹配/login/
        }

        location = /blog {
                return 200 "=/blog";		# 精確匹配/blog
        }
} 

[root@Nginx ~]# nginx -s reload

# 訪問(wèn)測(cè)試
[root@Nginx ~]# curl www.doubledragon.org/login/
=/login/
[root@Nginx ~]# curl www.doubledragon.org/login
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>
[root@Nginx ~]# curl www.doubledragon.org/login1/
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>
[root@Nginx ~]# curl www.doubledragon.org/login/1
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>

[root@Nginx ~]# curl www.doubledragon.org/blog
=/blog
[root@Nginx ~]# curl www.doubledragon.org/blog/
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>
[root@Nginx ~]# curl www.doubledragon.org/blog/1
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>
[root@Nginx ~]# curl www.doubledragon.org/blog1
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>

四、location后面加 ^~ 示例

# 編輯子配置文件
[root@Nginx ~]# vim /usr/local/nginx/conf/conf.d/vhost.conf 
server {
        listen 80;
        server_name www.doubledragon.org;

        location ^~ /doc {					# 匹配/doc開(kāi)頭的,若匹配成功則會(huì)阻止正則匹配
                return 200 "/doc";
        }

        location ~* ^/document$ {
                return 200 "/document";		# 正則匹配,精確匹配/document
        }
}

[root@Nginx ~]# nginx -s reload

# 訪問(wèn)測(cè)試
[root@Nginx ~]# curl www.doubledragon.org/doc
/doc
[root@Nginx ~]# curl www.doubledragon.org/document
/doc
[root@Nginx ~]# curl www.doubledragon.org/doc1
/doc
[root@Nginx ~]# curl www.doubledragon.org/doc/2
/doc
[root@Nginx ~]# curl www.doubledragon.org/do
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.28.2</center>
</body>
</html>

五、location后面加 ~ 示例

# 編輯子配置文件
[root@Nginx ~]# vim /usr/local/nginx/conf/conf.d/vhost.conf
server {
        listen 80;
        server_name www.doubledragon.org;
        
        location ~ ^/api {
                return 200 "^/api";		# 匹配以/api開(kāi)頭的,區(qū)分大小寫(xiě)
        }       

        location ~ \.php$ {
                return 200 ".php";		# 匹配以.php結(jié)尾的,區(qū)分大小寫(xiě)
        }       
}

[root@Nginx ~]# nginx -s reload

# 訪問(wèn)測(cè)試
[root@Nginx ~]# curl www.doubledragon.org/api
^/api
[root@Nginx ~]# curl www.doubledragon.org/apii
^/api
[root@Nginx ~]# curl www.doubledragon.org/api/1
^/api
[root@Nginx ~]# curl www.doubledragon.org/index.php
.php
[root@Nginx ~]# curl www.doubledragon.org/html/index.php
.php
[root@Nginx ~]# curl www.doubledragon.org/api.php
^/api

六、location后面加 ~* 示例

# 編輯子配置文件
[root@Nginx ~]# vim /usr/local/nginx/conf/conf.d/vhost.conf 

server {
        listen 80;
        server_name www.doubledragon.org;

        location ~* ^/api {
                return 200 "^/api";		# 匹配以/api開(kāi)頭的,不區(qū)分大小寫(xiě)
        }
}

[root@Nginx ~]# nginx -s reload

# 訪問(wèn)測(cè)試
[root@Nginx ~]# curl www.doubledragon.org/api
^/api
[root@Nginx ~]# curl www.doubledragon.org/API
^/api
[root@Nginx ~]# 

綜上,以上就是關(guān)于location的使用的詳細(xì)示例

以上就是一文詳解Nginx中l(wèi)ocation的使用方法的詳細(xì)內(nèi)容,更多關(guān)于Nginx location使用方法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx 處理超長(zhǎng) Cookie 導(dǎo)致的 400 錯(cuò)誤

    Nginx 處理超長(zhǎng) Cookie 導(dǎo)致的 400 錯(cuò)誤

    本文主要介紹了Nginx 處理超長(zhǎng) Cookie 導(dǎo)致的 400 錯(cuò)誤,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • Nginx配置二級(jí)域名的方法實(shí)現(xiàn)

    Nginx配置二級(jí)域名的方法實(shí)現(xiàn)

    本文主要介紹了Nginx配置二級(jí)域名的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • nginx rewrite重寫(xiě)規(guī)則與防盜鏈配置方法教程詳解

    nginx rewrite重寫(xiě)規(guī)則與防盜鏈配置方法教程詳解

    這篇文章主要介紹了nginx rewrite重寫(xiě)規(guī)則與防盜鏈配置方法教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • Nginx配置統(tǒng)計(jì)流量帶寬請(qǐng)求及記錄實(shí)時(shí)請(qǐng)求狀態(tài)的方法

    Nginx配置統(tǒng)計(jì)流量帶寬請(qǐng)求及記錄實(shí)時(shí)請(qǐng)求狀態(tài)的方法

    這篇文章主要介紹了Nginx中配置統(tǒng)計(jì)流量帶寬請(qǐng)求及記錄實(shí)時(shí)請(qǐng)求狀態(tài)的方法,分別用到了ngx_req_status和ngx_realtime_request模塊,需要的朋友可以參考下
    2016-01-01
  • Nginx中Map模塊的具體使用

    Nginx中Map模塊的具體使用

    Nginx的map模塊是一個(gè)功能強(qiáng)大的工具,可以在配置Nginx時(shí)實(shí)現(xiàn)更高效的請(qǐng)求處理,本文主要介紹了Nginx中Map模塊的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • 詳解nginx+php執(zhí)行請(qǐng)求的工作原理

    詳解nginx+php執(zhí)行請(qǐng)求的工作原理

    這篇文章主要介紹了詳解nginx+php執(zhí)行請(qǐng)求的工作原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • Nginx中if語(yǔ)句的判斷條件與多條件判斷詳解

    Nginx中if語(yǔ)句的判斷條件與多條件判斷詳解

    這篇文章主要介紹了關(guān)于Nginx中if語(yǔ)句的判斷條件與多條件判斷的相關(guān)資料,文中給出了詳細(xì)的示例代碼,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • Nginx反向代理解決IPv6報(bào)錯(cuò)與跨網(wǎng)段訪問(wèn)的詳細(xì)步驟

    Nginx反向代理解決IPv6報(bào)錯(cuò)與跨網(wǎng)段訪問(wèn)的詳細(xì)步驟

    本文檔記錄了如何通過(guò) Nginx 將公網(wǎng)域名請(qǐng)求代理到公司內(nèi)部網(wǎng)絡(luò)服務(wù)的完整過(guò)程,重點(diǎn)解決了 IPv6 解析導(dǎo)致的連接超時(shí) 問(wèn)題,并詳細(xì)闡述了 端口映射 與 DNS 解析 的核心原理,需要的朋友可以參考下
    2026-03-03
  • 配置Nginx的防盜鏈的操作方法

    配置Nginx的防盜鏈的操作方法

    這篇文章主要介紹了配置Nginx的防盜鏈的操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Nginx+SSL搭建 HTTPS 網(wǎng)站

    Nginx+SSL搭建 HTTPS 網(wǎng)站

    最近在研究nginx,整好遇到一個(gè)需求就是希望服務(wù)器與客戶端之間傳輸內(nèi)容是加密的,防止中間監(jiān)聽(tīng)泄露信息,但是去證書(shū)服務(wù)商那邊申請(qǐng)證書(shū)又不合算,因?yàn)樵L問(wèn)服務(wù)器的都是內(nèi)部人士,所以自己給自己頒發(fā)證書(shū),忽略掉瀏覽器的不信任警報(bào)即可。下面是頒發(fā)證書(shū)和配置過(guò)程。
    2016-08-08

最新評(píng)論

贵南县| 香港 | 股票| 武邑县| 来安县| 册亨县| 乐昌市| 原平市| 开原市| 绵阳市| 融水| 新疆| 云龙县| 固阳县| 古交市| 都昌县| 尼木县| 兖州市| 金阳县| 喜德县| 偃师市| 六枝特区| 淮南市| 麻城市| 黑水县| 靖边县| 辽源市| 凤山市| 保康县| 辽阳县| 固原市| 永登县| 潢川县| 南涧| 克拉玛依市| 乐清市| 扶绥县| 方城县| 体育| 东兰县| 巴马|