【问题标题】:Why silverstripe 4 base_tag returning http instead of https?为什么 silverstripe 4 base_tag 返回 http 而不是 https?
【发布时间】:2018-10-05 03:36:01
【问题描述】:

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

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

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

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

我正在使用 Heroku 来托管我的应用程序(如果此信息可以提供任何帮助)

提前致谢。

【问题讨论】:

  • 您的.env 文件中是否定义了SS_BASE_URL?
  • 是的,我用 https 定义了 SS_BASE_URL。

标签: silverstripe silverstripe-4


【解决方案1】:

对于所有 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 文件。

【讨论】:

    猜你喜欢
    • 2016-01-13
    • 2016-01-29
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2015-09-22
    • 2020-12-28
    • 2018-02-12
    相关资源
    最近更新 更多