今天在项目部署时遇到了一点问题,困惑很久,主要搞不清root和alias 的区别,简要说一下我在项目部署中关于root和alias的理解
root:
正确理解:
location /dist {
root /home/smy0722/src/smy0722/; //root指向项目目录,项目所在/home/smy0722/src/smy0722/dist
}
在浏览器中访问你的项目, http://..../dist,就可成功访问的项目了
错误理解:
location /dist {
root /home/smy0722/src/smy0722/dist; //root指向项目目录,即项目所在
}
在浏览器中访问你的项目, http://..../dist,永远无法访问到项目,一直404
经验:用root 指向你的项目时,在浏览器访问中它会把你的dist 加入到/home/smy0722/src/smy0722/这个地址下 即它实际访问的是/home/smy0722/src/smy0722/dist,我之所以错误是因为我多加了个dist
alias:
location /smy {
alias /home/smy0722/src/smy0722/dist/;
}
在浏览器中访问,http://…/smy,可以访问到项目,实际上smy 被/home/smy0722/src/smy0722/dist/给替代了,它直接在这个目录下查找文件
root 和alias的区别
root 指向的地址后可以加 ‘/’ 或者不加
alias 指向的地址必须加 ‘/’
粗浅之解