nginx中location匹配規則介紹

一,匹配規則css

1,= 表示精確匹配url

例子:http://localhost/  將匹配到 location = / {...}spa

           http://localhost/aaa  能夠匹配到 location = /aaa {...}字符串

2,^~表示匹配url以什麼樣的字符串開頭io

例子:http://localhost/static/haha  能夠匹配到 location = ^~/static/haha {...}配置

           http://localhost/static/haha/hehe  能夠匹配到 location = ^~/static/ /haha {...}請求

3,~表示區分大小寫的正則匹配配置文件

     ~*不區分大小寫的正則匹配static

例子:對於location ~ \.(gif|jpg|png|js|css)$ {...}和location ~* \.png$ {...}文件

           http://localhost/123.png均可以與之匹配。而http://localhost/123.PNG只能與後一個匹配

4,!~表示區分大小寫的不匹配

     !~*不區分大小寫的不匹配

例子:對於location !~ \.(gif|jpg|png|js|css)$ {...}和location !~* \.png$ {...}

           http://localhost/123.png和以上都不匹配,http://localhost/123.PNG與第一個匹配,第二個不匹配,http://localhost/123.mp4與以上兩個都匹配

5,/ 通用匹配,任何請求均可以匹配到location / {...}

二,匹配順序

當一個請求能匹配多個location的時候會怎麼樣呢?固然是隻遵循一個location,那麼遵循哪個的。

首先匹配=,其次匹配^~,其餘的正則匹配按照配置文件中的順序來,最後匹配 /,當匹配到合適的location的時候,中止匹配,處理請求。

相關文章
相關標籤/搜索