Nginx的Location匹配顺序是一个经常出错的地方,下面是location优先级排序示例: location = /uri #精确匹配,优先级最高 location ^~ /uri #普通字符串匹配,不支持正则表达式,当匹配成功后停止其他location匹配,优先级高于正则 location ~ #区分大小写的正则匹配 location ~* #不区分大小写的正则匹配 location /uri #前缀匹配 location / #通用匹配 官方的location匹配示例: location = / { [ configuration A ] } location / { [ configuration B ] } location /documents/ { [ configuration C ] } location ^~ /images/ { [ configuration D ] } location ~* \.(gif|jpg|jpeg)$ { [ configuration E ] } #如果请求的是“/”则匹配到A,符合精准匹配 #如果请求的是“/index.html”则匹配到B #如果请求的是“/documents/document.html”则匹配到C #如果请求的是“/images/1.gif”则匹配到D #如果请求的是“/documents/1.jpg”则匹配到E