Nginx Location匹配规则简记

location有两种定义方式:prefix和正则

精确location: '='开头的prefix

先搜索精确location,若匹配成功则使用该location。 否则,先按照prefix匹配,找到最长匹配的prefix location,若该location以'^~'开头,则使用该location。 否则,按照文件中的出现顺序搜索正则location,如果匹配到了,则使用该正则location。若果没有匹配的正则location,使用最长匹配的prefix location。

语法规则: location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。以xx开头

~ 开头表示区分大小写的正则匹配 以xx结尾

~* 开头表示不区分大小写的正则匹配 以xx结尾

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

你可能感兴趣的:(学习笔记,运维,nginx)