При установке drupal 8 с помощью composer установка по умолчанию перемещается в подкаталог /web
.
При посещении рута по адресу http://example.com
apache 2.3 обслуживает 403, но при посещении http://example.com/web
и соответствующие подстраницы все работает.
Есть много руководств о том, как сопоставить это с root, это более или менее вопрос установки правильного DocumentRoot
. Я использую этот виртуальный хост:
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html/web
<Directory /var/www/html/web>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Однако я хочу добавить еще один поддельный подкаталог, не изменяя файловую структуру по умолчанию.
Например путь http://example.com/fakesubdir/admin/config
должен работать как положено и http://example.com/admin/config
вместе с http://example.com/
следует бросить 403-е.
Я пытался изменить DocumentRoot, добавить псевдонимы и изменить различные правила перезаписи, но все они, похоже, пытаются указать, где файлы размещаются на хосте. Я не могу понять, как просто внести очевидное изменение в uri.
Я нашел несколько руководств, которые требуют изменения $base_url
в settings.php, но, похоже, этот метод устарел в drupal 8.
Я также посмотрел на этот вопрос, но ответы там предлагают переместить файлы в другое место, которое я не хочу сделать, так как хочу оставить значение по умолчанию /web
каталог, созданный композитором, чтобы избежать множества других проблем.
Как я могу добавить этот поддельный подкаталог?