nginx location指令配置细节如何深入理解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计914个文字,预计阅读时间需要4分钟。
相关专题:
$request_uri
location的匹配种类有哪些?
=开头表示精确匹配
^~ 开头,注意这不是一个正则表达式(是提升优先级的字符串匹配)–它的目的是优先于正则表达式的匹配。如果该location是最佳匹配,则不再进行正则表达式检测。
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
!~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则
字符串匹配
/通用匹配, 如果没有其它匹配,任何请求都会匹配到
location搜索顺序
首先精确匹配 =
其次匹配 ^~
再其次按照配置文件的顺序进行正则匹配
最后是交给/进行通用匹配
注意:
当有匹配成功时,立刻停止匹配,按照当前匹配规则处理请求
特别注意:字符串匹配优先搜索,但是只是记录下最长的匹配 ,然后继续搜索正则匹配,如果有正则匹配,则命中正则匹配,如果没有正则匹配,则命中最长的字符串匹配。
本文共计914个文字,预计阅读时间需要4分钟。
相关专题:
$request_uri
location的匹配种类有哪些?
=开头表示精确匹配
^~ 开头,注意这不是一个正则表达式(是提升优先级的字符串匹配)–它的目的是优先于正则表达式的匹配。如果该location是最佳匹配,则不再进行正则表达式检测。
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
!~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则
字符串匹配
/通用匹配, 如果没有其它匹配,任何请求都会匹配到
location搜索顺序
首先精确匹配 =
其次匹配 ^~
再其次按照配置文件的顺序进行正则匹配
最后是交给/进行通用匹配
注意:
当有匹配成功时,立刻停止匹配,按照当前匹配规则处理请求
特别注意:字符串匹配优先搜索,但是只是记录下最长的匹配 ,然后继续搜索正则匹配,如果有正则匹配,则命中正则匹配,如果没有正则匹配,则命中最长的字符串匹配。

