您可以在一次安装中运行多个 Magento 商店。线索在index.php,具体是:
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'default';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
Mage::run($mageRunCode, $mageRunType);
$mageRunCode 定义了我们正在初始化的商店或网站的代码(在管理区域的Manage Store 部分中定义)。 $mageRunType 定义了我们是要初始化一个商店还是一个网站。
如您所见,Magento 首先检查适当的值作为环境变量。以 apache 为例,这些变量的值需要在 httpd.conf 的 VirtualHost 部分或类似部分中设置。我们使用SetEnv 指令设置环境变量:
SetEnv MAGE_RUN_TYPE website
SetEnv MAGE_RUN_CODE website_code_001
我们可以为所有域使用相同的DocumentRoot,因为我们允许VirtualHost 根据请求的主机名切换$_SERVER['MAGE_RUN_{CODE,TYPE}'] 的值。