Nginx Location匹配规则及变量使用详解
这是因为Nginx的Location匹配规则是按照从上到下的顺序进行匹配的,且匹配到第一个符合条件的Location就停止匹配。在这个例子中,如果请求的URI是'/23',根据正则表达式'/(api|as|$ab)',它会首先匹配到'/api',然后是'/as',因为'/23'不匹配'/api'和'/as',所以会继续向下匹配。但是'$ab'是一个变量,Nginx在匹配URI时会将变量替换成其对应的值,也就是'/23',但是由于'/23'被放在了最后一个位置,所以Nginx在匹配时不会到达'/23'这个位置,因此无法匹配到'/23'。
要解决这个问题,可以将'$ab'改为一个具体的值,例如'set $ab "twentythree"',然后在Location中匹配'/twentythree'即可。
原文地址: https://www.cveoy.top/t/topic/mV7b 著作权归作者所有。请勿转载和采集!