nginx root alias 区别

访问的目录结构

root@nginx02  ~
# tree /application/image/
/application/image/
|-- 01.jpg
|-- images
|   |-- 01.jpg
|   |-- i1
|   |   `-- 01.jpg
|   |-- i2
|   |   `-- 02.jpg
|   |-- i3
|   |   `-- 03.jpg
|   |-- i4
|   |   `-- 04.jpg
|   |-- i5
|   |   `-- 05.jpg
|   |-- i6
|   |   `-- 06.jpg
|   `-- i7
|       `-- 07.jpg
`-- imgs
    `-- 01.jpg

9 directories, 10 files

栗子说明


 1,如果请求路径是完全匹配^$正alias 必须是完整的路径匹配 不然会找不到文件
  http://www.static.com/images/i1/01.jpg
  location ~ "^/images/i([0-9]{1})/(.*\.(gif|jpg|png|js|css))$" {
     alias /application/image/images/i$1/$2;
  }

 2,如果请求路径是目录请求 alias 路径别名最后/必须加上
  http://www.static.com/test/01.jpg
  http://www.static.com/test/i1/01.jpg
  location /test/ {
     alias /application/image/images/;
  }
 3,如果请求路径是/test/01.jpg 返回的路径alias /application/image/images/01.jpg
 4,如果请求路径是/test/i1/01.jpg 返回的路径alias /application/image/images/i1/01.jpg
 注意-----------
 alias 会自动把请求/test/i1/01.jpg i1自动拼接到 alias /application/image/images/i1/后面 在去查找文件


 /i1/01.jpg
 如果请求www.test/il/01.jpg root 会把i1拼接到 root /application/image/images/il/ 到i1目录找01.jpg
 若果是请求/i1/i01/01.jpg 会把i1/i01拼接到 root /application/image/images/il/i01/ 到i1/i01目录找01.jpg
 root 路径最后面可以没有/;
 location /i1/ {
     root /application/image/images;
 }

总结 
  1,root  使用 /i1/ 是拿i1/后面去拼接 ,root 路径后面可以没有反斜杠/
  2,alias /test/i1/ 是从/test/后面拿去拼接,就是二级目录去拼接 访问目录必须带反斜杠 ,如果完全资源匹配就不用加上反斜杠/;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一款流行的高性能Web服务器和反向代理服务器。Location、RootAlias和正则都是Nginx中非常常见的关键字。 Location指令用于配置站点的URL路径。例如,一个location /images的指令就能匹配站点中/images路径的请求。还可以使用正则表达式来匹配复杂的URL。Location指令中的一些常见选项包括try_files、proxy_pass、fastcgi_pass等。使用这些选项,我们可以根据需求配置站点的页面。 Root指令用于设置站点的根目录。例如,root /var/www/html可以将站点文件的默认存放路径设置为/var/www/html。对于一些需要访问静态文件的站点,设置Root指令可以更方便地读取静态文件,提高访问效率。 Alias指令也用于设置文件路径。不同于Root指令,Alias指令能够为特定路径设置不同的读取路径,而非设定整个站点的根目录。例如,alias /images/ /data/images/,访问/images/路径时,Nginx会自动映射到/data/images/路径。 正则表达式可以让我们更灵活地配置站点。在Nginx中,用~或~*修饰location指令的URI参数,就可以开启正则表达式的匹配模式。在指令中使用正则表达式,可以用来匹配更多的路径,而不单单是固定的路径。例如,location ~ \.(gif|jpg|jpeg)$ { … }表示nginx会匹配以.gif、.jpg、.jpeg结尾的URI。 总之,通过熟练掌握Nginx的Location、RootAlias和正则等指令,能够更好地配置和优化站点的性能和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值