【发布时间】:2011-07-11 11:32:56
【问题描述】:
有什么区别:
location = /abc {}
和
locaton ~ /abc {}
【问题讨论】:
-
第二个看起来更酷:P(我认为第一个匹配确切位置,第二个使用常规 exp。但由于我不确定我不将其作为答案发布)
标签: nginx nginx-location
有什么区别:
location = /abc {}
和
locaton ~ /abc {}
【问题讨论】:
标签: nginx nginx-location
location = /abc {} 匹配精确的 uri /abc
location ~ /abc 是 uri 上的正则表达式匹配,表示任何包含 /abc 的 uri,
您可能想要:location ~ ^/abc 以 /abc 开头的 uri
而是
【讨论】:
location /abc { ... }
location /abc 只会匹配以/abc 或/abc/ 开头的路由。这意味着它将匹配/abc/def,但不匹配/abcdef。正则表达式将匹配两者,因为它匹配字符串,而不是路由..
location /abc 只会在没有其他位置与正则表达式匹配时匹配。所以location ~ ^/abc 优先于location /abc,即使它稍后定义:keycdn.com/support/nginx-location-directive。