TommySung

TommySung

V2EX 第 666243 号会员,加入于 2023-12-09 09:10:13 +08:00
TommySung 最近回复了
66 天前
回复了 snylonue 创建的主题 全球工单系统 cloudcone 是不是挂了
现在 cloudcone.com 仍然打不开
292 天前
回复了 TommySung 创建的主题 问与答 请教一个网络问题-ERR_HTTP2_PROTOCOL_ERROR
我查过,dns 解析没问题
联通线路过去的路由走 4837 后 10099 过去
电信的路由直接走 163 线路过去

站点服务器看着用的像是 ASLINE
感觉是服务商线路垃圾造成的
2023-12-21 16:58:03 +08:00
回复了 Hopetree 创建的主题 NGINX nginx 中 location 优先级的问题
是没问题的!

毫无疑问,匹配原则是精确匹配,即最大程度能匹配上

在这一原则下,最长匹配就是判断标准

1.
首先 /static/js/css/4.png 会匹配到 1 ,保留
然后,/static/js/css/4.png 会匹配到 3 ,而 4 ,5 ,6 都无法与其”匹敌“,因为 3 和他们比较匹配度最高
而 1 因为是正则匹配,且能匹配到结尾扩展名,也属于匹配度最高,换句话说你使用/static/js/css/4.jpg 则会匹配到 3

在此情况下,1 和 3 匹配度都最高,那么正则优先,所以 /static/js/css/4.png 会匹配到 1


2.
/static/js/4.png 最高匹配度会匹配到 1 ,3 ,5 ,但 5 的优先级明显高于 1 和 3 ,所以返回 5

3.
/static/js/css6/4.png 同上

容易错误的地方如:
location /static/js/css/
location ^~ /static/js/
如果你的 uri 包括/static/js/css/ ,那么虽然 location ^~ /static/js/ 也能匹配上,并且优先级高于 location /static/js/css/
但 location /static/js/css/ 属于最精确匹配或最高匹配度,最后就会被选中

匹配度最高或最精准匹配 是 大于 所谓优先级的
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2571 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 10:40 · PVG 18:40 · LAX 02:40 · JFK 05:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.