默认情况下,不允许Drupal 8重定向到外部URL

默认情况下,不允许Drupal 8重定向到外部URL,drupal,drupal-8,bitbucket-pipelines,Drupal,Drupal 8,Bitbucket Pipelines,我正在用Drupal建立一个网站,该网站通过bitbucket管道部署在实时服务器上。通常,当我浏览到myurl.com/user时,它会将我重定向到myurl.com/user/login,但现在我遇到以下错误: Redirects to external URLs are not allowed by default, use \Drupal\Core\Routing\TrustedRedirectResponse for it. 我已经设置了“可信主机”模式,但这似乎无法解决问题。 受信

我正在用Drupal建立一个网站,该网站通过bitbucket管道部署在实时服务器上。通常,当我浏览到myurl.com/user时,它会将我重定向到myurl.com/user/login,但现在我遇到以下错误:

Redirects to external URLs are not allowed by default, use \Drupal\Core\Routing\TrustedRedirectResponse for it.
我已经设置了“可信主机”模式,但这似乎无法解决问题。 受信任的主机模式:

$settings['trusted_host_patterns'] = array(
'^myurl\.com$',

))

我觉得这种模式还可以。然而,我要检查的是:

  • 使用您的浏览器确认重定向到
    /user/login
    恰好发生在
    myurl.com
    域。例如,不要
    www.myurl.com
  • 同时尝试清除缓存
  • 然后再看一遍
  • 然后呢。这是一个D8问题尚未解决

我记得在本地环境开发期间,我的一个网站上出现了类似的问题,这个问题确实存在于模式中。

模式对我来说似乎没问题。然而,我要检查的是:

  • 使用您的浏览器确认重定向到
    /user/login
    恰好发生在
    myurl.com
    域。例如,不要
    www.myurl.com
  • 同时尝试清除缓存
  • 然后再看一遍
  • 然后呢。这是一个D8问题尚未解决

我记得在本地环境开发期间,我的一个网站上也出现了类似的问题,而且这个问题确实存在。

以防万一,有人来了:也有可能,您已经将多语言网站迁移到了不同的服务器/本地主机,并且在您的数据库中仍然是旧的重定向域,这将不再有效

要解决此问题,需要手动更改数据库中的以下值。转到dr_config并搜索语言。协商

在这个神秘的blob中,搜索可以找到

 {s:6:"source";s:6:"domain";
并将其更改为

 {s:6:"source";s:6:"path_prefix";

然后清空所有缓存表(强制重新处理配置),很有可能它会工作

以防万一,其他人来了:也有可能,您已经将一个多语言站点迁移到了另一个服务器/本地主机,并且在您的数据库中仍然是旧的重定向域,这些域现在将不再工作

要解决此问题,需要手动更改数据库中的以下值。转到dr_config并搜索语言。协商

在这个神秘的blob中,搜索可以找到

 {s:6:"source";s:6:"domain";
并将其更改为

 {s:6:"source";s:6:"path_prefix";

然后清空所有缓存表(强制重新处理配置),很有可能它会工作

如果由于多语言站点在localhost上找不到域而出现这种情况,请放入settings.php:

$config['language.negotiation']['url']['domains']['en'] = 'my-en-url.localhost';
$config['language.negotiation']['url']['domains']['de'] = 'my-de-url.localhost';
$config['language.negotiation']['url']['domains']['es'] = 'my-es-url.localhost';
$config['language.negotiation']['url']['domains']['fr'] = 'my-fr-url.localhost';

如果由于多语言站点在localhost上找不到域而出现这种情况,请放入settings.php:

$config['language.negotiation']['url']['domains']['en'] = 'my-en-url.localhost';
$config['language.negotiation']['url']['domains']['de'] = 'my-de-url.localhost';
$config['language.negotiation']['url']['domains']['es'] = 'my-es-url.localhost';
$config['language.negotiation']['url']['domains']['fr'] = 'my-fr-url.localhost';

也许你想展示你的
受信任的主机模式
在这里添加更多的上下文。也许你想展示你的
受信任的主机模式
在这里添加更多的上下文。伙计,你真的帮了我好几个小时的痛苦!干杯!迁移后,我不得不删除一些URL的接受部分,这对我帮助很大。(顺便说一句:s:6是下面这根绳子的长度,)伙计,你真的帮我省了几个小时的痛苦!干杯!迁移后,我不得不删除一些URL的接受部分,这对我帮助很大。(顺便说一句:s:6是以下字符串的长度,)