我是靠谱客的博主 隐形往事,这篇文章主要介绍Nginx location 匹配详解、location [=|~|~*|^~|!~|!~*] 详解,现在分享给大家,希望可以做个参考。

语法规则

location [=|~|~*|^~|!~|!~*] /uri/ { … }

模式含义
location = /uri= 表示精确匹配
location ^~ /uri^ 进行前缀匹配,~ 表示区分大小写
location ~ pattern~ 区分大小写的匹配
location ~* pattern~* 不区分大小写的匹配
location /uri不带任何修饰符,也表示前缀匹配,但是在正则匹配之后
location /通用匹配,任何未匹配到其它 location 的请求都会匹配到,相当于 switch 中的 default
location !~区分大小写不匹配
location !~*不区分大小写不匹配

匹配优先级

  • 首先精确匹配 =
  • 其次前缀匹配 ^~
  • 其次是按文件中顺序的正则匹配
  • 然后匹配不带任何修饰的前缀匹配
  • 最后是交给 / 通用匹配
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求

匹配的时候依照最佳匹配规则,按照能匹配到的最多的规则进行匹配
location ^~ /test/react/location ^~ /test/,请求 http://localhost/test/react/react.dev.js,会匹配 location /test/react/

使用示例

文件结构

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# t.c => /index location = / { proxy_pass http://127.0.0.1:8888/index; } # http://t.c/static/react.development.js => /test-nginx/react.development.js location ^~ /static/ { root /home/uftp/test-nginx/; } # http://t.c/bizhi1.jpg => /test-nginx/static/assets/bizhi1.jpg location ~* .(gif|jpg|jpeg|css|js|ico)$ { root /home/uftp/test-nginx/static/assets/; } # http://t.c/bizhi_sensitive.png 命中 casesensitive/bizhi_sensitive.png location ~ .png$ { root /home/uftp/test-nginx/static/casesensitive/; } # http://t.c/api/plmnji => http://127.0.0.1:8888/apitt/plmnji location ^~ /api { proxy_pass http://127.0.0.1:8888/apitt; } # http://t.c/test/react/react.dev.js => http://127.0.0.1:8888/testreact/react.dev.js 不会匹配下面的规则,被上面的规则优先匹配了 # http://t.c/test/react/akkk => http://127.0.0.1:8888/testreact/akkk location ^~ /test/react { proxy_pass http://127.0.0.1:8888/testreact; } # http://t.c/test/qwerty => http://127.0.0.1:8888/test/qwerty location ^~ /test { proxy_pass http://127.0.0.1:8888/test; } # http://t.c/vue/dasdas => http://127.0.0.1:8888/thisisvue/dasdas location /vue { proxy_pass http://127.0.0.1:8888/thisisvue; }

参考

  • location 匹配规则

关注公众号 止水聊技术,即送技术资料,您的支持是我最大的动力
lxfriday_xyz

最后

以上就是隐形往事最近收集整理的关于Nginx location 匹配详解、location [=|~|~*|^~|!~|!~*] 详解的全部内容,更多相关Nginx内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部