nginx root alias 区别

来源:互联网 发布:凡科建站能做seo吗 编辑:程序博客网 时间:2024/05/16 15:00

访问的目录结构

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.jpg9 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