前言
之前在看 Nginx 的 location 匹配规则的时候,参考了一些网上的文章,但是这些文章,要么不全,要么就是有问题的,后面打算结合我自己的实践,自己写一篇算了。
本次实践的环境:
- 系统: CentOS 7
- Nginx 版本: 1.18.0
location 匹配的变量
Nginx 的 location 规则匹配的变量是 $uri
, 所以不用管后面的参数 $query_string
(或者 $args
)
location 匹配的种类
格式主要是这个:1
2
3location [空格 | = | ~ | ~* | ^~ | @ ] /uri/ {
...
}
其实上面分为三部分:
- 最前面的字符 (location modifier) 匹配规则
- 后面 uri 的匹配规则 (location match)
- 大括号内的路由转发