nginx 80端口配置多个location无效 访问404
文件目录:nginx配置:一直感觉配置没啥问题,但是实际访问一直报404,很纳闷,百度了下发现又是一个知识盲区:alias与root的用法区别alias实现虚拟目录最基本的区别:alias指定的目录是准确的。root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。一般情况下,在nginx配置中的良好习惯是:1)在location /中配置root目录;2)在locat
文件目录:
nginx配置:
一直感觉配置没啥问题,但是实际访问一直报404,很纳闷,百度了下发现又是一个知识盲区:
alias与root的用法区别 alias实现虚拟目录
最基本的区别:
alias指定的目录是准确的。
root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。
一般情况下,在nginx配置中的良好习惯是:
1)在location /中配置root目录;
2)在location /path中配置alias虚拟目录。
root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
root的处理结果是:root路径+location路径
配置为root html/manager,实际访问www.xxx.com/manager时,处理结果为:
"www.xxx.com/manager" + "/manager" = "www.xxx.com/manager/manager"
因此,一直报404错误!
alias的处理结果是:使用alias路径替换location路径
处理结果即为 www.xxx.com/manager,因此能访问到。
所以,html/manager目录结构的正确nginx配置应该为(使用alias):
或(使用root):
更多推荐
所有评论(0)