nginx同域名配置多目录路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx同域名配置多目录路径相关的知识,希望对你有一定的参考价值。
站点换了新的目录位置,要求是新的目录有文件访问新的,如果没有去老路径找
我是这么写的
server
server_name xxx.cn;
charset utf-8;
location /
index index.html index.shtml;
root /web/t; 新路径
if (!-f $request_filename)
root /web1/t; 老路径
发现问题是访问文件的链接没问题,但是访问域名的时候只要老路径没有文件就报403
例如www.xxx.cn/index.html 没问题
如果访问www.xxx.cn新目录有文件,老目录没文件就报403
新目录没文件,老目录有文件显示老的(正常)
新老都要有,显示新的(正常)
server_name xxx.cn;
charset utf-8;
location /
index index.html index.shtml;
root /web/t; 新路径
error_page 404 = @not_found;
location @not_found
index index.html index.shtml;
root /web1/t; 老路径
追问
测试后不行啊,我不是想让他跳404
是想正常访问
其实就是我的域名更新到新目录了
比如web/123 旧的在web1/123 我想外面访问的时候优先访问新的文件,如果新的没有从旧目录找
是不是我这种写法不行?
个人理解:
你这个写法不行,代码会一直向下执行,不管新目录有没有文件都会去找老目录。
可以看一下,nginx的错误日志:
应该新目录没有找到,会去/web1/t/web/t这样的目录找,可以将旧目录调整一下,应该是可以的。
以上是关于nginx同域名配置多目录路径的主要内容,如果未能解决你的问题,请参考以下文章