Mar*_*ond 91

location = /abc {} 匹配确切的uri /abc

location ~ /abc是uri的正则表达式匹配,意思是任何uri包含/abc,你可能想要:location ~ ^/abc因为uri开头/abc 而不是

  • 您意识到您不需要正则表达式来匹配开始.这是nginx默认操作:`location/abc {...}` (32认同)
  • 请注意,之前的说法并不准确。`location /abc` 只会匹配以 `/abc` 或 `/abc/` 开头的路由。这意味着它将匹配“/abc/def”,但不匹配“/abcdef”。正则表达式将匹配两者,因为它匹配字符串,而不是路由。 (5认同)
  • 此外,仅当没有其他具有正则表达式的位置匹配时,“location /abc”才会匹配。因此 `location ~ ^/abc` 优先于 `location /abc`,即使它是稍后定义的:https://www.keycdn.com/support/nginx-location-directive。 (2认同)