访问的目录结构
root@nginx02 ~
/application/image/
|
|
| |
| |
| | `
| |
| | `
| |
| | `
| |
| | `
| |
| | `
| |
| | `
| `
| `
`
`
9 directories, 10 files
栗子说明
1,如果请求路径是完全匹配^$正则 alias 必须是完整的路径匹配 不然会找不到文件
http:
location ~ "^/images/i([0-9]{1})/(.*\.(gif|jpg|png|js|css))$" {
alias /application/image/images/i$1/$2;
}
2,如果请求路径是目录请求 alias 路径别名最后/必须加上
http:
http:
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/后面拿去拼接,就是二级目录去拼接 访问目录必须带反斜杠 ,如果完全资源匹配就不用加上反斜杠/;