nginx之location匹配優先順序及順序

2021-10-04 10:44:29 字數 656 閱讀 2912

nginx通過server塊中location配置用以匹配不同url訪問:location配置方式主要包括精準匹配、普通匹配和正則匹配

location = expression 精準匹配

location expression 普通匹配

location ^~ expression 普通匹配

location ~ regex 正則匹配(區分大小寫)

location ~* regex 正則匹配(不區分大小寫)

精準匹配要求uri與表示式(expression)完全匹配。

普通匹配要求uri與表示式滿足字首匹配。

正則匹配要求uri與正規表示式匹配。

匹配順序

1、首先與精準匹配進行匹配,如能匹配,則進行**。如未能匹配成功,則進行普通匹配(^~)。

2、nginx將uri和所有^~型別的普通匹配規則進行匹配,如多個規則均命中,則選擇最長匹配。匹配成功後,進行**。否則,則進行正則匹配。

3、正則匹配與順序有關,按編寫順序進行匹配,一旦匹配成功,則**請求並停止匹配。匹配不成功,則進行普通匹配(location expression )

4、進行普通匹配(location expression),匹配成功則**,不成功則返回錯誤碼。

nginx之location 匹配規則

語法規則location uri 模式 含義location uri 表示精確匹配,只有完全匹配上才能生效 location uri 開頭對url路徑進行字首匹配,並且在正則之前。location pattern 開頭表示區分大小寫的正則匹配 location pattern 開頭表示不區分大小寫的...

nginx之location匹配規則

1.概述nginx server 塊下的乙個指令,每個server塊可以包含多個location塊。2.作用 1 基於nginx伺服器接收到的請求字串 例如 server name abc 對除虛擬主機名稱 也可以是ip別名 之外的字串 例如 abc 進行匹配,對特定的匹配進行處理 2 位址定向 資...

nginx學習之location塊

nginx官方文件中location塊的語法結構為 location uriuri 待匹配的字串,可以使不含正則表達的字串,如 myserver.php等 location模式 含義以 開頭 表示精準匹配,如只匹配根目錄結尾的請求,後面不能帶任何字串 以 開頭 表示uri以某個常規字串開頭,不是正則...