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

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

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

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

一、location簡介

1.1 location使用介紹

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

1.2 location語法規(guī)則

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

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

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

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

# 訪問測試
[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/開頭的所有請求
        }       
}

# 重新測試
[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

# 訪問測試
[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開頭的,若匹配成功則會阻止正則匹配
                return 200 "/doc";
        }

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

[root@Nginx ~]# nginx -s reload

# 訪問測試
[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開頭的,區(qū)分大小寫
        }       

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

[root@Nginx ~]# nginx -s reload

# 訪問測試
[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開頭的,不區(qū)分大小寫
        }
}

[root@Nginx ~]# nginx -s reload

# 訪問測試
[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使用方法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Nginx中Map模塊的具體使用

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

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

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

    Nginx中if語句的判斷條件與多條件判斷詳解

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

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

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

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

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

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

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

最新評論

项城市| 三河市| 垣曲县| 冀州市| 宽甸| 巢湖市| 鄂托克前旗| 通城县| 历史| 新邵县| 宾川县| 和平区| 合江县| 罗江县| 潞西市| 威远县| 莲花县| 铁岭县| 镇平县| 淮阳县| 吴江市| 台东县| 新余市| 琼结县| 三都| 鄱阳县| 漯河市| 德惠市| 汶上县| 醴陵市| 珠海市| 仙游县| 眉山市| 奈曼旗| 凉山| 营山县| 平舆县| 邵东县| 时尚| 阿图什市| 苍溪县|