nginx 中 location、alias、root 添加斜杠 和 真实路径之间的关系
1. 区别
- root的最终路径是:root的值 + location的值 + 剩余的路径
location /dx {
root /usr/abc/cc;
index index.html index.htm;
}
当访问 http://xxxx/dx 时 真实的路径是:/usr/abc/cc/dx
- alias的最终路径是:alias的值 替换掉location的值 + 剩余的路径
location /dx {
alias /usr/abc/cc
index index.html index.htm
}
当访问 http://xxxx/dx 时 真实的路径是:/usr/abc/cc
2. 几种组合方式
root 和 alias
- 后面都没有 /
【root】
location /abc {
root /usr/xx/xixihah
}
真实地址: http://ip/abc -> /usr/xx/xixihah/abc
【alias】
location /abc {
alias /usr/xx/xixihah
}
真实地址: http://ip/abc -> /usr/xx/xixihah
- 后面都有 /
【root】
location /abc/ {
root /usr/xx/xixi/
}
真实地址: http://ip/abc/ -> /usr/xx/xixi//abc/
【alias】
location /abc/ {
alias /usr/xx/xixi/
}
真实地址: http://ip/abc/ -> /usr/xx/xixi/
- location 有 / root 无 /
【root】
location /abc/ {
root /usr/xx/xixi
}
真实地址:http://ip/abc/ -> /usr/xx/xixi/abc/
【alias】
location /abc/ {
alias /usr/xx/xixi
}
真实地址:http://ip/abc/ -> /usr/xx/xixi
- location 无 / root 有 /
【root】
location /abc {
root /usr/xx/xixi/
}
真实地址:http://ip/abc -> /usr/xx/xixi//abc
【alias】
location /abc {
alias /usr/xx/xixi/
}
真实地址:http://ip/abc -> /usr/xx/xixi/