以 =
开头表示精确匹配,先判断精准命中,如果命中,立即返回结果并结束解析过程,如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。- 判断普通命中,如果有多个命中,记录下来最长的命中结果,与顺序无关。
- ^~开头表示uri以某个常规字符串开头,不是正则匹配,不会继续搜索正则命中,但是会继续搜索一般命中
- ~ 开头表示区分大小写的正则匹配;
- ~* 开头表示不区分大小写的正则匹配
- / 通用匹配, 如果没有其它匹配,任何请求都会匹配到
正则表达式的解析结果,按配置里的正则表达式顺序为准,由上到下开始匹配,一旦匹配成功立刻返回结果,并结束解析过程。
延伸分析:a. 普通命中:顺序无所谓,是因为按命中长短来确定的 b. 正则命中:顺序有所谓,因为是从前往后命中的