Я полагаю, что mod_rewrite добился бы цели. В Вашем виртуальном хосте к www.example.com Вы могли сделать что-то вроде этого:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /site/app/webroot/$1 [R=301,L]
Это должно переписать любые несуществующие запросы файла/каталога к site/app/webroot /* с 301 запросом. Это должно обновить DOCUMENT_ROOT для соответствия каталогу. Можно отбросить R=301
отметьте, чтобы просто сделать, внутреннее переписывает (пользователь не видит изменения), но я не на 100% уверен, что это обновит DOCUMENT_ROOT... Это могло бы.
Отметьте, этот пример из памяти и не протестирован, но он дает общее представление о том, что может сделать mod_rewrite
С помощью этого :
Как использовать FastCGI глобально и базовую аутентификацию в разделах в nginx?
http://wiki.nginx.org/HttpCoreModule#location
Я решил проблему, поместив контейнеры location
в другие локации
контейнеры.
Спасибо cyberx86 за начальную подсказку.