nginx的location優先順序

2022-05-10 16:03:14 字數 1173 閱讀 4888

在nginx配置檔案中,location主要有這幾種形式:

1. 正則匹配 location ~ /abc

2. 不區分大小寫的正則匹配 location ~* /abc

3. 匹配路徑的字首,如果找到停止搜尋 location ^~ /abc

4. 精確匹配 location = /abc

5.普通路徑字首匹配 location /abc

先說優先順序

4 > 3 > 2 > 1 > 5

再來解釋一下各個格式

此時a生效,因為=/優先順序高於/

2. 下面3個配置同時存在時

location  /documents/

location ~ /documents/

當訪問的url為/documents/abc/1.html,此時cc生效,首先cb優先順序高於c,而cc更優先於cb

3. 下面4個配置同時存在時

location ^~ /images/

location /images/

location /images/abc

location ~ /images/abc/ ​

當訪問的鏈結為/images/abc/123.jpg時,此時d生效。雖然4個規則都能匹配到,但^~優先順序是最高的。

若^~不存在時,h優先,因為~/images/ > /images/

而/images/和/images/abc同時存在時,/images/abc優先順序更高,因為後者更加精準

4. 下面兩個配置同時存在時

當訪問的鏈結為/images/abc/123.jpg時,e生效。因為上面的規則更加精準。

nginx的location配置詳解

語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...

nginx的location配置詳解

語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...

nginx的location規則(一)

nginx的url配置是使用nginx最基本功能。nginx作為伺服器,它可以接收請求,處理請求,都是基於客戶端url訪問。掌握url的配置要了解配置的幾個指令。熟悉每個匹配模式的特點。之前對於nginx的location匹配規則,我是一塌糊塗,最近認真學了一下,稍微清晰一點了,先記錄下來,方便以後...