因此,我必须将drupal 8站点部署到一个主机上,该主机不提供功能来为嵌套在站点根文件夹下的Drupal站点指定一个入口点。如何更新文件夹结构以使服务器站点根目录中包含所有内容?我最初尝试的是将site_root/web/文件夹的内容移到站点根目录上,但这会导致500个错误。我不确定,因为我看不到主机服务器上的错误,但是复制我的dev机器上的场景会指向autoloader.php文件,在错误的位置查找PHP Fatal error: require(): Failed opening required '/var/www/html/ab-test/../vendor/autoload.php'。
我试图解决这个问题,首先按照建议从站点根重新运行composer install,但这似乎没有帮助。当我手动更新autoloader.php应该查看的位置时,我会得到这个错误PHP Warning: require(/var/www/html/ab-test/vendor/composer/../../load.environment.php),它再次表明文件/文件夹结构是设置在我没有想到或没有足够经验来检查的地方。所以,我的复杂问题归结为如何从嵌套的文件夹结构切换到非嵌套的文件夹结构,而不让所有东西都抓狂呢?
发布于 2019-03-21 15:42:55
在使用Apache服务器时,可以尝试使用.htaccess文件在site_root中设置Drupal根文件夹:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{REQUEST_URI} !web/
RewriteRule (.*) /web/$1 [L](用您的实际域名替换example.com。)
这样,您可以保留使用Composer创建的“嵌套”文件夹结构,并使用web子文件夹为您的域提供所有请求。
https://drupal.stackexchange.com/questions/278049
复制相似问题