location优先级和验证方法及语法
Posted syy1757528181
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)$" {
...
}
以上是关于location优先级和验证方法及语法的主要内容,如果未能解决你的问题,请参考以下文章