需要帮助在 NGINX 中使用不同的根目录
Need help in using a different root for a location in NGINX
我有一个指向 /var/www 的域 (https://somedomain.com/) 的站点配置,但我希望将位置 /clientfolder 重定向到 /home/clientfolder/website/
我的问题是每当收到请求时,例如 https://somedomain.com/clientfolder/index.html 守护进程正在 /home/clientfolder/website/clientfolder/index.html
寻找文件
所以我尝试使用重写指令:
location /clientfolder {
rewrite ^/clientfolder/(.*)$ / last;
root /home/clientfolder/website
}
但现在 https://somedomain.com/clientfolder/index.html 在 /var/www/index.html
加载文件
如果 /clientfolder 位置匹配,是否有除 rewrite 之外的其他指令允许我从文件路径中删除 "clientfolder"?
更新:我设法让它工作,但感觉完全不对:
location /clientfolder/website {
root /home;
}
location /clientfolder {
rewrite ^/clientfolder/(.*)$ /clientfolder/website/;
}
如果以 /clientfolder
开头的 URI 位于 /home/clientfolder/website
,您应该使用 alias
指令。
例如:
location /clientfolder {
alias /home/clientfolder/website;
}
详情见this document。
我有一个指向 /var/www 的域 (https://somedomain.com/) 的站点配置,但我希望将位置 /clientfolder 重定向到 /home/clientfolder/website/
我的问题是每当收到请求时,例如 https://somedomain.com/clientfolder/index.html 守护进程正在 /home/clientfolder/website/clientfolder/index.html
寻找文件所以我尝试使用重写指令:
location /clientfolder {
rewrite ^/clientfolder/(.*)$ / last;
root /home/clientfolder/website
}
但现在 https://somedomain.com/clientfolder/index.html 在 /var/www/index.html
加载文件如果 /clientfolder 位置匹配,是否有除 rewrite 之外的其他指令允许我从文件路径中删除 "clientfolder"?
更新:我设法让它工作,但感觉完全不对:
location /clientfolder/website {
root /home;
}
location /clientfolder {
rewrite ^/clientfolder/(.*)$ /clientfolder/website/;
}
如果以 /clientfolder
开头的 URI 位于 /home/clientfolder/website
,您应该使用 alias
指令。
例如:
location /clientfolder {
alias /home/clientfolder/website;
}
详情见this document。