nginx配置location匹配规则
请求路由定位是Nginx的核心功能,位于ngx_http_core_module模块中。
- location匹配模式
判断条件 | 符号意义 |
---|---|
~ | 区分大小写地匹配正则 |
~* | 不区分大小写地匹配正则 |
^~ | 普通字符(相对于正则)匹配,一般用来匹配目录 |
= | 进行普通字符精确匹配 |
@ | “@”定义一个命名的 location,用于内部重定向,不能被嵌套,不能包含嵌套的location。例如 error_page, try_files |
location 匹配的优先级
- = 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配;
- Nginx首先检查最长前缀字符串匹配,其次检查正则表达式的匹配程度;
- 最长前缀匹配如果使用”^~”,则不检查正则表达式;
- 当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的前缀匹配规则会被应用。
参考文档