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的时候,中止匹配,处理请求。

相关文章
相关标签/搜索