为什么silverstripe 4 base_标记返回http而不是https?
我正在使用Silverstripe 4。我的模板SS文件上有base_标记。正在使用https访问该网站。例如: 当我检查查看器代码时,使用Director::absoluteBaseURL()检索base_标记 当我调用Director::absoluteBaseURL()时,它返回“” 但是在我的base_标签上,它总是出现 我正在使用Heroku托管我的应用程序(如果此信息有任何帮助)为什么silverstripe 4 base_标记返回http而不是https?,silverstripe,silverstripe-4,Silverstripe,Silverstripe 4,我正在使用Silverstripe 4。我的模板SS文件上有base_标记。正在使用https访问该网站。例如: 当我检查查看器代码时,使用Director::absoluteBaseURL()检索base_标记 当我调用Director::absoluteBaseURL()时,它返回“” 但是在我的base_标签上,它总是出现 我正在使用Heroku托管我的应用程序(如果此信息有任何帮助) 提前感谢。对于所有SS4项目,我不得不在{root folder}/app/_config.php中插
提前感谢。对于所有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\u BASE\u URL
SS_BASE_URL="https://www.***.com"
如果您正在使用Docker(Docker Compose),请添加:
到你的docker compose文件。你在
.env
文件中定义了SS_BASE_URL吗?是的,我用https定义了SS_BASE_URL。
environment:
- SS_BASE_URL=https://www.***.com