OpenCart 中的多商店 - 配置

Multi-Store in OpenCart - Config

我有 'website1.com' 运行 OpenCart 2.0.1.1,我想用 'website2.com' 设置一个多商店 - 这样客户就可以通过一个管理区域管理两个网站实例。据我了解,我应该指向 'website2.com' 使用与 'website1.com' 相同的 httpdocs 位置。相反,我将 'website2.com' 设置为 'website1.com' 的别名,这很好,网站可以加载,但让我感到困惑的是 config.php:

<?php
// HTTP
define('HTTP_SERVER', 'http://www.website1.com/');

// HTTPS
define('HTTPS_SERVER', 'https://www.website1.com/');

// DIR
define('DIR_APPLICATION', '/var/www/vhosts/website1.com/httpdocs/catalog/');
define('DIR_SYSTEM', '/var/www/vhosts/website1.com/httpdocs/system/');
define('DIR_LANGUAGE', '/var/www/vhosts/website1.com/httpdocs/catalog/language/');
define('DIR_TEMPLATE', '/var/www/vhosts/website1.com/httpdocs/catalog/view/theme/');
define('DIR_CONFIG', '/var/www/vhosts/website1.com/httpdocs/system/config/');
define('DIR_IMAGE', '/var/www/vhosts/website1.com/httpdocs/image/');
define('DIR_CACHE', '/var/www/vhosts/website1.com/httpdocs/system/cache/');
define('DIR_DOWNLOAD', '/var/www/vhosts/website1.com/httpdocs/system/download/');
define('DIR_UPLOAD', '/var/www/vhosts/website1.com/httpdocs/system/upload/');
define('DIR_MODIFICATION', '/var/www/vhosts/website1.com/httpdocs/system/modification/');
define('DIR_LOGS', '/var/www/vhosts/website1.com/httpdocs/system/logs/');

如果我将 'website1.com' 的每个实例都更改为 $_SERVER['HTTP_HOST'],是否会有任何安全问题? - 这样,正确的目录将被加载到配置文件中。

显然设置多商店的正确方法是将域设置为 VirtualHost - 但我不明白这是如何工作的,因为 define 语句仍然总是指向第一个网站。

感谢任何帮助!

谢谢,

利亚姆

Multistore是内部处理的,不在config.php中按照documentation中的描述设置即可。

至于用 $_SERVER 全局变量替换您的常量,我认为这不会带来安全风险。 HTTP_HOST 的主要用途是作为主要 url 设置,以及当您的 url 不匹配任何多商店时作为后备。但正如我上面所解释的,如果你正确地配置了你的 multistore,你就不需要碰这个。

我已经通过将域设置为别名成功实现了这一点!