Code editor showing http:// and https:// entries highlighted in the replace box
Code editor showing http:// and https:// entries highlighted in the replace box
OpenCart Server tab with Use SSL set to Yes highlighted
OpenCart Server tab with Use SSL set to Yes highlighted

当网站尝试使用 HTTP 而非 HTTPS 加载图片或其他内容时,就会出现混合内容(mixed content)问题。要修复此问题,你只需将页面上的链接修改为以 HTTPS 开头即可。

要在 OpenCart 网站中强制使用 HTTPS,首先请确保两个 config.php 文件(位于根目录 public_html 中的文件,以及 /admin/config.php 目录中的文件)中的域名 URL 都使用 HTTPS:

  1. 使用文件编辑器打开每个 config.php 文件,并按下 Ctrl+H 打开替换工具
  2. 在第一个输入框中填入 http://,在第二个输入框中填入 https://
  3. 点击 替换(Replace) 旁边的 全部(All)

保存更改并刷新网站——此时网站应当已能正常使用 HTTPS。

如果你的网站仍有残留的混合内容,请进入 OpenCart 管理后台,打开 设置(Settings)服务器(Server)。在 安全(Security) 区域中,将 使用 SSL(Use SSL) 设为 是(Yes)

如果完成上述步骤后混合内容问题仍然存在,请使用文件管理器打开你网站的 .htaccess 文件(若不存在则创建它),并插入以下代码:

Header always set Content-Security-Policy: upgrade-insecure-requests

保存更改,并使用隐身模式检查你的网站,确认其已能通过 HTTPS 正常访问。

如果你的网站使用 符号链接(symlinks),则不建议对 .htaccess 文件进行上述修改 💡

来源:Hostinger 官方帮助文档