(四)nginx的location匹配詳情

2021-09-25 03:07:32 字數 1229 閱讀 6971

nginx.conf中server塊下會有location塊,用於處理請求的uri並進入相應location下的配置,可以配置多個location來區分不同資源。

location [= | ~ | ~* | ^~] uri
location = uri    表示精確匹配, 必須於uri完全相同的請求才會匹配, 例如 location = /baidu , 只會匹配 /baidu的請求, 既不會匹配/, 也不會匹配/baidu/imgs

location uri, 匹配uri以及uri下的路徑。   location /baidu , 會匹配 /baidu的請求, 也會匹配/baidu/imgs

location ~ uri正則匹配區分大小寫, 找到第乙個匹配的即返回

location ~* uri正則匹配不區分大小寫, 找到第乙個匹配的即返回

location ^~ uri  反正則匹配,,類似 location uri 的匹配, 不過這個匹配生效後,後面不再進行正則匹配。 

location匹配規則遵頊「最大字首匹配」。

location /baidu/img請求 /baidu匹配confb, /baidu/img匹配confc

非正則匹配:1、2、5三種 

location會先進行「非正則匹配」,遵循「最大字首匹配」,如果中途找到精確匹配的直接結束匹配,進入精確匹配的配置,,如果非正則匹配的結果中沒有反正則匹配的,,則會進行正則匹配

正則匹配會按照location在配置檔案中的順序,將第乙個匹配的作為結果,,

如果正則匹配沒有匹配的,選擇第1步結果中「最大字首匹配」的作為結果。

location = / 

location /

location /file

location ^~ /img

location ~* \.(gif|jpg|png)$

以上有五個location,每個location都有自己塊裡的配置檔案,省略配置檔案。現在分別有 「/」、「/index.html」、「/file/list.html」、「/img/1.jpg」、「/file/1.jpg」五個請求,分別分析匹配的location。

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