location优先级和验证方法及语法

Location语法优先级排列(忽略空格)

Location语法的作用可以认为是对某一个location的模糊匹配

相同的location对应的站点目录只能有一个

/a

匹配符 匹配规则 优先级
= 精确匹配(默认) 1
^~N 以某个字符串开头 2
~ 区分大小写的正则匹配(默认) 3
~* 不区分大小写的正则匹配 4
!~ 区分大小写不匹配的正则(忘记他) 5
!~* 不区分大小写不匹配的正则(忘记他) 6
/ 通用匹配,任何请求都会匹配到(汇总) 7
default_type	:默认类型
return 			:返回
text/html		:表示使用html htm shtml解析

return 200 "location /";	:返回给浏览器200状态码,并且打印出"location /",该server中的状态码可以随意修改

[root@web01 /dir/abc]# vim /etc/nginx/mime.types 
types {
    text/html                                        html htm shtml;


#测试小server
server {
    listen 80;
    server_name blog.driverzeng.com;
    location / {
        default_type text/html;
        return 200 "location /";
    }
 
    location =/ {
        default_type text/html;
        return 200 "location =/";
    }
 
    location ~ / {
        default_type text/html;
        return 200 "location ~/";
    }
 
# 优先级最高符号=
[root@Nginx conf.d]# curl blog.driverzeng.com
location =/
 
# 注释掉精确匹配=, 重启Nginx
[root@Nginx ~]# curl blog.driverzeng.com
location ~/
 
# 注释掉~, 重启Nginx
[root@Nginx ~]# curl blog.driverzeng.com
location /

# 通用匹配,任何请求都会匹配到
location / {
    ...
}
 
 --------------------------------------------------
# 严格区分大小写,匹配以.php结尾的都走这个location    
location ~ .php$ {
    ...
}
 
# 严格区分大小写,匹配以.jsp结尾的都走这个location 
location ~ .jsp$ {
    ...
}
 
# 不区分大小写匹配,只要用户访问.jpg,gif,png,js,css 都走这条location
location ~* .*.(jpg|gif|png|js|css)$ {
    ...
}
 
# 不区分大小写匹配
location ~* ".(sql|bak|tgz|tar.gz|.git)$" {
    ...
}
原文地址:https://www.cnblogs.com/syy1757528181/p/12940998.html