Nginx Location匹配規則

2022-07-13 05:51:13 字數 1483 閱讀 3806

location [=|~|~*|^~] uri

其中,方括號中的四種識別符號是可選項,用來改變請求字串和uri的匹配方式。uri是待匹配的請求字串,可以是不包含正則的字串,這種模式被稱為「標準的uri";也可以包含正則,這種模式被稱為"正則uri"。例如:

location ~ .*\.(php|php5)?$

識別符號描述

=精確匹配:用於標準uri前,要求請求字串和uri嚴格匹配。如果匹配成功就停止匹配,立即執行該location裡面的請求。

~正則匹配:用於正則uri前,表示uri裡面包含正則,並且區分大小寫。

~*正則匹配:用於正則uri前,表示uri裡面包含正則,不區分大小寫。

^~非正則匹配;用於標準uri前,nginx伺服器匹配到字首最多的uri後就結束,該模式匹配成功後,不會使用正則匹配。

普通匹配(最長字元匹配);與location順序無關,是按照匹配的長短來取匹配結果。若完全匹配,就停止匹配。

location = /news/

[root@www quail]# curl 192.168.249.132/news/test1

location ~\.(html) 

location ~\.(html)

[root@www quail]# curl 192.168.249.132/index.html

test2

[root@www quail]# curl

192.168.249.132/index.html

test3

location ~*\.(html)

[root@www quail]# curl 192.168.249.132/index.html

test4

[root@www quail]# curl

192.168.249.132/index.html

test4

location ^~ /index/

[root@www quail]# curl 192.168.249.132/index/test5

[root@www quail]# curl

192.168.249.132/index/heihei

test5

[root@www quail]# curl

192.168.249.132/index/asdnmkalsjd

test5

location /

[root@www quail]# curl 192.168.249.132

test6

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,不使用正規表示式,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error pag...

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error page,try fil...

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error page,try fil...