首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在drupal 8安装中,如何在指向域后使用htaccess跳过web目录?

在drupal 8安装中,如何在指向域后使用htaccess跳过web目录?
EN

Stack Overflow用户
提问于 2019-02-08 08:30:29
回答 2查看 1.8K关注 0票数 1

我已经安装了我的drupal网站,并添加了使用ip地址的inital配置和页面,例如:http://111.22.33.88/web我的安装目录如下(我只是添加了基本文件来了解结构)

代码语言:javascript
复制
public_html/
    vendors/
    web/
        core/
        sites/
        modules/
        themes/
        .htaccess
        index.php

一切正常工作,但在我的ip地址指向我的域www.mysite.com之后。只有在路径( www.mysite.com/web )中添加web子文件夹,它才能正常工作。

我不需要网址中的文件夹。我找到了一个使用.htaccess文件的解决方案,代码如下

代码语言:javascript
复制
Options -Indexes
Options +FollowSymLinks 
RewriteEngine on
RewriteRule ^$ web/index.php [L]
RewriteCond %{DOCUMENT_ROOT}/web%{REQUEST_URI} -f
RewriteRule .* web/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* web/index.php?q=$0 [QSA]

我在/public_html/.htaccess中创建了一个新的htaccess文件,从而添加了上述代码

站点和管理链接可以工作,但仍然存在一些问题,即在登录为admin之后,www.mysite.com/user/ login,站点登录,但显示一个白色的错误页面,如下所示:“默认情况下不允许重定向到外部URL,请使用\Drupal\Core\Routing\TrustedRedirectResponse。”。

有人能帮我解决这个问题吗?我想我错过了我新创建的.htaccess文件中的一些东西,或者一些消除web目录的附加设置。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-08 09:41:20

您可以通过在settings.php中添加以下内容来消除此问题

代码语言:javascript
复制
if (isset($GLOBALS['request']) and
'/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME')) {
$GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php');
}
票数 2
EN

Stack Overflow用户

发布于 2019-12-12 17:47:38

我也有同样的问题,但是没有代码,我的处理方式就不一样了。我的was主机(inmotion)允许您提供根文件夹,在我的示例中,我试图将域名指向子文件夹。因此,我将域名指向/public_html/子文件夹/web,而不是仅指向/public_html/子文件夹。而且起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54588504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档