nginx最全教程_nginx使用教程

2022-11-15 11:47:47 浏览数 (1)

location [=|~|~*|^~] patt {

}

中括号可以不写任何参数,此时称为一般匹配

也可以写参数

因此,大类型可以分为3种

location = patt {} [精准匹配]

location patt{} [一般匹配]

location ~ patt{} [正则匹配]

——————————————–

如何发挥作用?:

首先看有没有精准匹配,如果有,则停止匹配过程.

location = patt {

config A

}

如果 $uri == patt,匹配成功,使用configA

location = / {

root /var/www/html/;

index index.htm index.html;

}

location / {

root /usr/local/nginx/html;

index index.html index.htm;

}

如果访问  http://xxx.com/

定位流程是

1: 精准匹配中 ”/” ,得到index页为  index.htm

2: 再次访问 /index.htm , 此次内部转跳uri已经是”/index.htm” ,

根目录为/usr/local/nginx/html

3: 最终结果,访问了 /usr/local/nginx/html/index.htm

–正则

location / {

root /usr/local/nginx/html;

index index.html index.htm;

}

location ~ image {

root /var/www/image;

index index.html;

}

如果我们访问 https://img.yuanmabao.com/zijie/pic/2022/11/15/u5z0rd51ftg.png

此时, “/” 与”/image/logo.png” 匹配

同时,”image”正则 与”image/logo.png”也能匹配,谁发挥作用?

正则表达式的成果将会使用.

图片真正会访问 /var/www/image/logo.png

–一般匹配

location / {

root /usr/local/nginx/html;

index index.html index.htm;

}

location /foo {

root /var/www/html;

index index.html;

}

我们访问 http://xxx.com/foo

对于uri “/foo”, 两个location的patt,都能匹配他们

即 ‘/’能从左前缀匹配 ‘/foo’, ‘/foo’也能左前缀匹配’/foo’,

此时, 真正访问 /var/www/html/index.html

原因:’/foo’匹配的更长,因此使用之.;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234938.html原文链接:https://javaforall.cn

0 人点赞