Ao instalar o drupal 8 com o composer, a instalação padrão é movida para o subdiretório /web
.
Ao visitar a raiz em http://example.com
o apache 2.3 exibe 403, mas ao visitar http://example.com/web
e subpáginas correspondentes, tudo funciona.
Há muitos guias sobre como mapear isso para o root, que é mais ou menos uma questão de definir o DocumentRoot
correto. Estou usando este host virtual:
<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>
No entanto, quero adicionar outro subdiretório falso sem alterar a estrutura de arquivos padrão.
Por exemplo, o caminho http://example.com/fakesubdir/admin/config
deve funcionar como esperado e http://example.com/admin/config
junto com http://example.com/
deve lançar 403.
Eu tentei alterar o DocumentRoot, adicionando Aliases e alterando várias regras de reescrita, mas todas elas parecem tentar apontar para onde os arquivos são colocados no host. Eu não consigo descobrir como apenas fazer uma aparente mudança no uri.
Eu encontrei um guia que requer a alteração de $base_url
em settings.php, mas este método parece ser obsoleto no drupal 8.
Eu também consultei esta questão , mas as respostas lá sugerem mover os arquivos para outro local que eu não quero fazer, já que eu quero manter o diretório padrão /web
criado pelo compositor para evitar uma série de outros problemas.
Como posso adicionar este subdiretório falso?