语法:location [ = | ~ | ~* | ^~ ] uri { ... }
uri 有四种修饰符
= 精确匹配~ 正则匹配(大小写敏感)~* 正则匹配 (大小写不敏感)^~ 优先前缀匹配,忽略接下来的正则匹配行为一个 location 可以有两种定义
正则表达式:以 ~(大小写敏感) 或者 ~*(大小写不敏感) 修饰前缀字符串匹配顺序
检查精确匹配,如果命中,则终止匹配检查前缀匹配,记录下最长前缀匹配,如果这个最长前缀以 ^* 为修饰符,则终止匹配,前缀匹配与配置的顺序无关检查正则匹配,以配置文件中的顺序开始,当某个正则表达式匹配成功后就终止匹配如果没有成功匹配的正则表达式,则使用之前的最长前缀匹配一些例子
location = / { [ configuration A ] } location / { [ configuration B ] } location /documents/ { [ configuration C ] } location ^~ /images/ { [ configuration D ] } location ~* \.(gif|jpg|jpeg)$ { [ configuration E ] }匹配结果
/ : configuration A/index.html:configuration B/documents/document.html:configuration C/images/1.gif:configuration D/documents/1.jpg:configuration E