优先级由上到下依次递减:
location =/a/1.png {
return 400;
}
}
location ~* \.png$ {
return 403;
}
location /a/1.png {
return 401;
}
location ^~ /a/ {
return 402;
}#^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
location /a/ {
return 404;
}
不测和上面402同时开启(会有充突)优先级无法比较!
location / {
return 500;
}
#它的优先级别最低!
注意:跟位置没并系!!!
server {
listen 80;
server_name localhost;
index index.html index.htm index.php;
root /app/www/;
location / {
return 500;
}
location /a/ {
return 404;
}
# location ^~ /a/ {
# return 402;
# }
location /a/1.png {
return 401;
}
location =/a/1.png {
return 400;
}
location ~* \.png$ {
return 403;
}
include /app/server/nginx/conf/rewrite/default.conf;
access_log /app/log/nginx/access/default.log;
}
NB结论:(从右匹配!!!!)
结论:比较有意思是:/a/ 与 / 应该是 同种类型的匹配表达式, 可以从中得到,该匹配顺序是,将路径从“右匹配“, 可以推测形如逐个字符,那个先匹配到,就是那个优先。 因此得到是:/a/ 优先于 / .