向 uri 添加虚假子目录

向 uri 添加虚假子目录

使用 Composer 安装 Drupal 8 时,默认安装会移动到子目录/web

当访问 apache 2.3 的根页面时http://example.com会出现 403 错误,但是当访问http://example.com/web相应的子页面时一切正常。

关于如何将其映射到根目录有很多指南,这或多或少是一个设置正确的问题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由作曲家创建的默认目录以避免出现许多其他问题。

我如何添加这个虚假子目录?

相关内容