我有'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
语句仍然总是指向第一个网站。
感谢任何帮助!
谢谢,
利亚姆答案 0 :(得分:1)
多重存储是在内部处理的,而不是在config.php中处理的。只需按照 documentation 中的说明进行设置即可。
至于用$_SERVER
全局变量替换常量,我认为它不会带来安全风险。 HTTP_HOST的主要用途是作为主要网址设置,并在您的网址与任何多重存储都不匹配时作为后备。但正如我上面所解释的,如果你正确配置你的多线圈,你就不需要触摸它。
答案 1 :(得分:0)
我已设法通过将域设置为别名来实现此功能!