在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匹配規則,我是一塌糊塗,最近認真學了一下,稍微清晰一點了,先記錄下來,方便以後...