Opencart链接不是https?

时间:2012-11-11 13:43:48

标签: ssl https hyperlink opencart

我已经购买了ssl证书,我已在设置中启用了SSL设置,并且我已将两个配置文件更改为https,但是当我访问http://bit.ly/TCkEBv时,第一页是https,其余的则不是。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

我意识到这是一个老线程,但考虑到最近的谷歌SSL-到处索引变化,我认为这是相关的。以下示例将使OC在所有链接中使用https。您必须在system / library / url.php中更改3个字符。他们在论坛上删除了这一点,这是可以理解的,但我们已经在混合SSL多重存储上运行了一周的生产流量而没有任何问题。

警告:您的mod可能不同 - 启用此功能后,在测试中全部运行它们...尤其是任何重定向管理器。这是1.5.6的调整:

打开store / system / library / url.php并在第18行附近的IF语句中找到$url = $this->url;。将其更改为$url = $this->ssl;,然后就可以了。

PS:还有一种非常未经测试的方法,使用$response->addHeader('Strict-Transport-Security: max-age=31536000');将https-preferred作为标题发送,但我不确定将其放在index.php之外的最佳位置。此外,虽然它在测试中工作,但不确定所有服务器的含义。头控制器似乎合乎逻辑,但并非所有OC区域都使用头控制器:)。尝试最好的位置....只是在$ url复制器中不做它,即使看起来它有效。

答案 1 :(得分:1)

根据论坛帖子,这实际上并不是购物车设置方式的错误 - 大多数页面都没有设置为HTTPS,一旦点击非HTTPS链接就会恢复为HTTP

答案 2 :(得分:0)

假设您有一个名为example.org的域 无需更改代码,而在Apache中,您可以执行此操作...

除了您的Domain-SSL.conf外,您还可以将该配置复制到Domain.conf并将其编辑为使用端口80而不是443

然后,将这行添加到DirectoryIndex ...之前的顶部的服务器定义中。

Redirect / https://example.org

这将简单地将每个请求重定向回SSL配置,并在每个链接前面添加https://。无需对OC进行任何代码更改。

这已经在我繁忙的生产服务器上运行了好几年了,没有一个问题。