nginx配置location匹配规则

请求路由定位是Nginx的核心功能,位于ngx_http_core_module模块中。

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