NGINX 如何根据主机设置根目录
NGINX how to set root dir depending on host
服务器上的所有网站都有一个 nginx 配置。
所有网站都有一个根目录,只有一个网站有另一个根目录。
如何为该主机设置根目录?
此配置 returns 一个错误:"root" directive is not allowed here
。
server {
...
root "/webhome/$host/web";
if ($host = site.example.com) {
root /webhome/site.example.com/www;
}
....
这个也试过没有成功:
location / {
if ($host = site.example.com) {
root /webhome/site.example.com/www;
}
}
虽然这通常使用多个 server
块来解决,但您可以使用 map
块来评估 root
指令参数值:
map $host $siteroot {
site.example.com /webhome/site.example.com/www;
default /webhome/$host/web;
}
server {
root $siteroot;
...
服务器上的所有网站都有一个 nginx 配置。
所有网站都有一个根目录,只有一个网站有另一个根目录。
如何为该主机设置根目录?
此配置 returns 一个错误:"root" directive is not allowed here
。
server {
...
root "/webhome/$host/web";
if ($host = site.example.com) {
root /webhome/site.example.com/www;
}
....
这个也试过没有成功:
location / {
if ($host = site.example.com) {
root /webhome/site.example.com/www;
}
}
虽然这通常使用多个 server
块来解决,但您可以使用 map
块来评估 root
指令参数值:
map $host $siteroot {
site.example.com /webhome/site.example.com/www;
default /webhome/$host/web;
}
server {
root $siteroot;
...