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

Jez*_*z D 1 contao

在Contao 3.5.9中

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

所有需要的资源都没有被加载,因为系统的基本URL设置为http://它使用基本URL中的正确域名,但协议错误.

我无法登录管理员.

我搜索了谷歌(没有太多关于Contao的信息),发现了这个:http://blog.qzminski.com/article/move-the-contao-to-another-server.html

阅读它,似乎基本URL是在管理员中设置的,这意味着它可以在数据库的某个地方找到.

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

如何更改基本URL的协议?

fri*_*zmg 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);
}
Run Code Online (Sandbox Code Playgroud)

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

如果是这种情况,那么您可以通过插入来扩展SSL检测

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO']) 
{
    $_SERVER['HTTPS'] = 1;
}
Run Code Online (Sandbox Code Playgroud)

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