Contao:如何更改基本URL的协议?

时间:2016-04-21 14:47:40

标签: contao

在Contao 3.5.9中

我已上传到新服务器并使用原始安装中的其他域名。我也在使用https://

由于系统的基本网址设置为http://,因此未加载所需的许多资源 它在基本URL中使用了正确的域名,但协议错误。

我无法登录管理员。

我搜索了Google(在那里没有太多关于Contao的内容)并找到了这个:http://blog.qzminski.com/article/move-the-contao-to-another-server.html

阅读它,似乎在管理员中设置了基本网址,这意味着它可以在数据库的某处找到。

我搜索了数据库转储但找不到它。

如何更改基本网址的协议?

1 个答案:

答案 0 :(得分:7)

Contao使用以下内容确定当前请求是否通过SSL完成»\Environment::get('ssl')

/**
 * Return true if the current page was requested via an SSL connection
 *
 * @return boolean True if SSL is enabled
 */
protected static function ssl()
{
    return ($_SERVER['SSL_SESSION_ID'] || $_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1);
}

您的服务器环境可能未设置这些$_SERVER全局变量。例如,如果您使用SSL代理,则可能就是这种情况。

如果是这种情况,则可以通过插入

来扩展SSL检测
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO']) 
{
    $_SERVER['HTTPS'] = 1;
}

进入/system/config/initconfig.php。例如,请参阅https://github.com/contao/core/issues/7542(仅限德语​​)。