如何在opencart 2中为图像使用子域?

如何在opencart 2中为图像使用子域?,opencart,opencart2.x,Opencart,Opencart2.x,这是我的配置文件。我已更改图像子域,但未加载图像 <?php // HTTP define('HTTP_SERVER', 'http://www.Yek.com/'); define('HTTP_IMAGE', 'http://img.Yek.com/'); // HTTPS define('HTTPS_SERVER', 'https://www.Yek.com/'); define('HTTPS_IMAGE', 'https://img

这是我的配置文件。我已更改图像子域,但未加载图像

<?php

    // HTTP
    define('HTTP_SERVER', 'http://www.Yek.com/');
    define('HTTP_IMAGE', 'http://img.Yek.com/');

    // HTTPS
    define('HTTPS_SERVER', 'https://www.Yek.com/');
    define('HTTPS_IMAGE', 'https://img.Yek.com/');

    // DIR
    define('DIR_APPLICATION', '/home/Yek/public_html/catalog/');
    define('DIR_SYSTEM', '/home/Yek/public_html/system/');
    define('DIR_DATABASE', '/home/Yek/public_html/system/database/');
    define('DIR_LANGUAGE', '/home/Yek/public_html/catalog/language/');
    define('DIR_TEMPLATE', '/home/Yek/public_html/catalog/view/theme/');
    define('DIR_CONFIG', '/home/Yek/public_html/system/config/');
    //define('DIR_IMAGE', '/home/Yek/public_html/image/');//defult For Images/catlog on main host
    define('DIR_IMAGE', '/home/Yek/public_html/img/image/'); // image/catalog in download host

    define('DIR_CACHE', '/home/Yek/public_html/system/cache/');
    define('DIR_DOWNLOAD', '/home/Yek/public_html/system/download/');
    define('DIR_LOGS', '/home/Yek/public_html/system/logs/');
    define('DIR_UPLOAD', '/home/Yek/public_html/system/upload/');
    define('DIR_MODIFICATION', '/home/Yek/public_html/system/modification/');


    // DB
  ....
?>

这是我的image.php。为我编辑? 不知道在何处编辑此代码

<?php
class ModelToolImage extends Model {
    public function resize($filename, $width, $height) {
        if (!is_file(DIR_IMAGE . $filename)) {
            return;
        }

        $extension = pathinfo($filename, PATHINFO_EXTENSION);

        $old_image = $filename;
        $new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;

        if (!is_file(DIR_IMAGE . $new_image) || (filectime(DIR_IMAGE . $old_image) > filectime(DIR_IMAGE . $new_image))) {
            $path = '';

            $directories = explode('/', dirname(str_replace('../', '', $new_image)));

            foreach ($directories as $directory) {
                $path = $path . '/' . $directory;

                if (!is_dir(DIR_IMAGE . $path)) {
                    @mkdir(DIR_IMAGE . $path, 0777);
                }
            }

            list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image);

            if ($width_orig != $width || $height_orig != $height) {
                $image = new Image(DIR_IMAGE . $old_image);
                $image->resize($width, $height);
                $image->save(DIR_IMAGE . $new_image);
            } else {
                copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image);
            }
        }

        if ($this->request->server['HTTPS']) {
            return $this->config->get('config_ssl') . 'image/' . $new_image;
        } else {
            return $this->config->get('config_url') . 'image/' . $new_image;
        }
    }
}

将您的子域指向图像目录


在主机控制面板中添加子域时,必须将其指向映像目录。如果您无法访问控制面板,则必须询问管理员。

/catalog/model/tool/image.php 找到$this->config->get('config\u url') 改变

protected function getImageUrl($new_image) {
    $parts = explode('/', $new_image);
    $new_url = implode('/', array_map('rawurlencode', $parts));
    if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
        return $this->config->get('config_ssl') . 'image/' . $new_url;
    }
    else {
        return $this->config->get('config_url') . 'image/' . $new_url;
    }
}

我可以访问控制面板、主控制面板以及控制面板下载。我的配置设置是否正确?否,当更改为
define('DIR_IMAGE','/home/Yek/public_html/mage/')在主主机目录中显示站点图片此处不清楚。DIR_图像保持不变,但只有HTTP_图像更改为显示图像url,显示为包含子域的url。它一定对你有用。但你们可能会想要不同的东西。我想展示主机下载的网站图片,地址是img.yek.com。更改
define('DIR_IMAGE','/home/Yek/public_html/IMAGE/)
定义('DIR_IMAGE','/home/Yek/public_html/img/IMAGE/)和添加
define('HTTP_IMAGE','http://img.Yek.com/');但有更改时,不显示“为产品选择picuter”的文件夹。为了澄清:DIR_IMAGE是php用于确定文件在系统中的位置的绝对图像目录路径,php必须通过设置open base目录(如果需要)或将子域设置为指向图像目录来访问。后者的问题是,当使用SEO重写时,可能会导致问题,您可能会发现遇到重定向循环。HTTP(S)_映像常量用于页面上的链接。如果可能的话,无论页面的安全性如何,您都应该提供HTTPS图像。非ssl内容将破坏ssl,但反过来对安全性没有影响。找到此代码但有错误,请编辑问题,请编辑我的代码