为什么silverstripe 4 base_tag返回http而不是https?

时间:2018-10-05 03:36:01

标签: silverstripe silverstripe-4

我正在使用Silverstripe4。我的模板SS文件上有base_tag。正在使用https访问网站。例如:https://website.com

当我检查查看器代码时,使用Director :: absoluteBaseURL()检索base_tag

当我调用Director :: absoluteBaseURL()时,它返回“ https://website.com

但是在我的base_tag上,它总是出现

我正在使用Heroku托管我的应用程序(如果此信息有帮助的话)

谢谢。

1 个答案:

答案 0 :(得分:0)

对于所有SS4项目,我都必须在{root-folder}/app/_config.php中插入以下内容:

// Hack to allow SS to insert the correct base url as defined by environmental variable 'SS_BASE_URL'.
$url = getenv('SS_BASE_URL');

if (isset($url) && $url != '') {
    Director::config()->set('alternate_base_url', (rtrim($url, '/') . '/'));
    Director::config()->set('cookie_path', '/');
}

并确保根文件夹中的.env已声明SS_BASE_URL

SS_BASE_URL="https://www.***.com"

如果您使用的是Docker(Docker Compose),请添加:

  environment:
    - SS_BASE_URL=https://www.***.com

到您的docker compose文件。