Есть много доменов с сабдоменами, необходимо сконфигурить nginx
чтобы он реализовывал следующую логику:
к примеру поступает запрос с хостом
test5.test4.test3.test2.test1
необходимо чтобы nginx проверил
существует ли дира
test5.test4.test3.test2.test1
если да, то назначил рутом эту диру
и закончил проверки.
Если нет,
то проверил следующую
test4.test3.test2.test1
и так до конца, т.е. до
test2.test1
если ничего не нашел, тогда
дефолтный рут.
Пытаюсь делать что-то типа
if ($host ~* ^([^\.]+)\.([^\.]+)\.([^\.]+)\.([^\.]+)\.([^\.]+)$)
{
set $zroot "/home/vhosts/$1.$2.$3.$4.$5";
}
if (-d $zroot)
{
root $zroot;
break;
}
if ($host ~* ^([^\.]+)\.([^\.]+)\.([^\.]+)\.([^\.]+)$)
{
set $zroot "/home/vhosts/$1.$2.$3.$4";
}
if (-d $zroot)
{
root $zroot;
break;
}
Однако в этом случае нет перебора, надо регулярку как-то
грамотно переделать, а вот как что-то морожу.
Помогите разобраться пожалуйста.