Nginx location 的命中顺序

2 min read

location命中过程是这样的:

  1. 先判断精准命中,如果命中,立即返回结果并结束解析过程

  2. 判断普通命中,如果有多个命中,记录下来最长的命中结果

  3. 继续判断正则表达式的解析结果,按配置里的正则表达式顺序为准,由上到下开始匹配,一旦匹配成功

立刻返回结果,并结束解析过程。

延伸分析:

a. 普通命中:顺序无所谓,是因为按命中长短来确定的

b. 正则命中:顺序有所谓,因为是从前往后命中的