我是 Nginx 新手。现在我对 nginx 配置感到困惑:
我的网站包含位于不同位置的文件夹:
location / {
root /Path1;
}
location ^~ /download {
alias /Path2;
}
当我查询时http://mysite/download
,我访问的是的内容,/Path2
而不是/Path1
现在我想在包含我的私人文件下添加一个子目录download
,并且我想添加密码保护。所以我添加了:
location /download/personal {
auth_basic "Admin Login";
auth_basic_user_file Path_to_htpasswd;
}
但在输入我的凭据后查询时出现 404 错误http://mysite/download/personal
。根据 nginx 错误日志,我被定向到/Path1/download/personal
,但该目录不存在。我该如何配置 nginx,以便所有对 的访问http://mysite/download/*
都将定向到 中的同一目录/Path2
?
更新:
我可能找到了一个解决方案:只需将子目录配置放在父级conf中:
location ^~ /download {
alias /Path2;
location /download/personal {
auth_basic "Admin Login";
auth_basic_user_file Path_to_htpasswd;
}
}
这是正确的吗?或者有更好的解决方案吗?
答案1
您已经知道如何执行此操作。您需要添加alias
指向正确目录的。