在Contao 3.5.9中
我已上传到新服务器并使用原始安装中的其他域名。我也在使用https://
由于系统的基本网址设置为http://,因此未加载所需的许多资源 它在基本URL中使用了正确的域名,但协议错误。
我无法登录管理员。
我搜索了Google(在那里没有太多关于Contao的内容)并找到了这个:http://blog.qzminski.com/article/move-the-contao-to-another-server.html
阅读它,似乎在管理员中设置了基本网址,这意味着它可以在数据库的某处找到。
我搜索了数据库转储但找不到它。
如何更改基本网址的协议?
答案 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(仅限德语)。