Я хотел бы обслуживать данные на одном и том же хосте из разных каталогов в зависимости от параметра запроса с помощью Nginx.
Например https://foo.bar/index.html
должен подаваться из /var/www/foo
и https://foo.bar/index.html?baz=quux
из /var/www/bar
.
Я пытался сменить сервер root
условно, но оказывается не поддерживается.
root /var/www/foo;
if ($args ~ baz=quux) {
# this is not gonna work but that is what is needed
# root /var/www/bar;
}
Я не уверен, что это самый элегантный способ решить проблему, но с помощью переменной в root
директива работает должным образом.
set $env 'foo';
if ($arg_baz=quux) {
set $env 'bar';
}
root /var/www/$env;