【问题标题】:OpenCart image manager issue after ssl change (1.5.6.4)ssl 更改后的 OpenCart 图像管理器问题 (1.5.6.4)
【发布时间】:2015-06-21 20:05:37
【问题描述】:

我有 OpenCart 1.5.6.4,我决定将 ssl 添加到网站。我已经更改了两个 config.php 文件(root 和 admin),并且还强制所有请求为 https。除了图像管理器(管理员)之外的一些小修复后,网站运行良好。

它不显示图像,我可以看到文件夹、文件名和大小,但看不到缩略图。我已清除缓存,我可以看到它们已重新创建,但它仍然没有显示在图像管理器中。

我检查了网络,调用了图像控制器并且它的响应是正确的(缓存文件夹中的缩略图)但是每个图像(缩略图)都会生成一个新的 http 请求,但 URL 错误。

代替:https://<website>/image/cache/data/<image>

网址是:

https://<website>/admin/%EF%BB%BF%EF%BB%BF%EF%BB%BFhttps://<website>/image/cache/data/<image>

或者正如我在请求视图中看到的那样:

https://<website>/admin/https://<website>/image/cache/data/<image>

我找不到 HTTP_SERVERHTTPS_SERVER(它们相同)的附加位置。

编辑:

我发现问题出在哪里,我还在寻找解决方案。

路径:admin-view-template-common

文件:filemanager.tpl

$.ajax({
                url: 'index.php?route=common/filemanager/image&token=<?php echo $token; ?>&image=' + encodeURIComponent('data/' + $(element).find('input[name=\'image\']').attr('value')),
                dataType: 'html',
                success: function(html) {
                    $(element).find('img').replaceWith('<img src="' + html + '" alt="" title="" />');
                }
            });

结果 html 前面有 UTF-8 BOM 导致此问题。

如果您知道如何删除它,请告诉我们!

【问题讨论】:

    标签: php ssl https opencart


    【解决方案1】:

    您能否检查您的 cpanel 中的热链接保护,您是否也列出了 https。我也遇到了图像问题,它们在结帐时没有显示。一旦我启用了热链接保护,它就起作用了。

    【讨论】:

      【解决方案2】:

      问题解决了!

      UTF-8 BOM 是 3 倍,这很奇怪,只有一个响应是 UTF-8 文本,所以如果问题是它应该是一个 BOM。我将文件下载到我的 PC 并检查了文件编码(经过 3 天的网络和 AJAX 代码调查)。当我从托管服务提供商的文件管理器中进行更改时,它们从没有 BOM 的 UTF-8 更改为 UTF-8。看起来它正在将 BOM 添加到响应中。

      将文件编码改回UTF-8 without BOM后一切恢复正常。图像显示给图像管理器并且 AJAX 响应是干净的。

      【讨论】:

        猜你喜欢
        • 2015-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多