Я пытаюсь обслуживать другой контент (другой DocumentRooot) для запросов, содержащих особое значение cookie.
При использовании nginx это было довольно просто:
set $newroot "oi-dev";
if ($cookie_interface = "ni") {
set $newroot "ni-dev";
}
и позже: root /path/to/document/$newroot;
К сожалению, попытка воссоздать такой эффект в Apache (с использованием 2.4) не работает должным образом.
<If "%{HTTP_COOKIE} =~ /interface=ni/">
Header set droot-matched true
Define Droot /path/to/document/ni-dev
</If>
<Else>
Define Droot /path/to/document/oi-dev
</Else>
DocumentRoot ${Droot}
Это странно, потому что заголовок элемента управления (droot-matched
) отправляется, когда установлен правильный файл cookie, но Apache по-прежнему использует ${Droot}
значение от <Else>
раздел как DocumentRoot.
Я тоже попытался удачи с VirtualDocumentRoot, но результат был точно таким же.
Я упускаю что-то очевидное или есть другой метод достижения описанного эффекта в Apache?