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

问题描述 投票:0回答:1

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

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

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

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

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

提前感谢。

silverstripe silverstripe-4
1个回答
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文件。

© www.soinside.com 2019 - 2024. All rights reserved.