nginx locatio作用
nginx的location的作用是根据用户请求的URL不同,来执行不同的应用。
针对用户请求的网站URL进行匹配,匹配成功后进行对应的操作。
nginx.conf中server{}指令块的location指令如下
location / {
root html;
index index.html index.htm;
}
location = /50x.html {
root html;
}
【语法】
location [ = | ~| ~* | ^~ ] url {
#指定对应的动作
}
#正则表达式解释
匹配符 匹配规则 优先级
= 精确匹配 1
^~ 以某个字符串开头,不做正则 2
~* 正则匹配 3
/blog/ 匹配常规字符串,有正则就优先正则 4
/ 通用匹配,不符合其他location的默认匹配 5
【实际演练】
修改nginx.conf文件如下
[root@bogon extra]# cat www.conf
server {
listen 83;
server_name _;
#最低级匹配,不符合其他locaiton就来这 优先级5
location / {
return 401;
}
#优先级最高 优先级1
location = / {
return 402;
}
#以/blog/开头的url,来这里,如符合其他locaiton,则以其他优先 优先级4
location /blog/ {
return 403;
}
#匹配任何以/img/开头的请求,不匹配正则 优先级2
location ^~ /img/ {
return 404;
}
#匹配任何以.gif结尾的请求,支持正则 优先级3
location ~* \.(gif|jpg|jpeg)$ {
return 500;
}
}
用浏览器进行测试
优先级1
优先级2
优先级3
优先级4
优先级5