我为我的主域创建了magento网站。现在我还需要在我的子域中再添加一个商店,我创建了网站,商店和商店视图。然后我添加了安全和不安全的基本网址。之后我编辑了htacces文件,它位于我的根文件夹中,它已经包含了主域中托管的一些商店的代码,这里我需要创建子域名,我在htaccess中使用了以下代码
SetEnvIf Host www\.abc\.domain\.in MAGE_RUN_CODE=website_code
SetEnvIf Host www\.abc\.domain\.in MAGE_RUN_TYPE=website
SetEnvIf Host ^abc\.domain\.in MAGE_RUN_CODE=website_code
SetEnvIf Host ^abc\.domain\.in MAGE_RUN_TYPE=website
还是子域无法连接magento,为什么会这样呢?有人可以帮帮我吗?
答案 0 :(得分:0)
我会检查环境变量MAGE_RUN_CODE和MAGE_RUN_TYPE是否设置正确,您可以通过PHP访问它们。您应该在输出phpinfo()的文件中看到它们。如果未设置它们,则服务器环境可能无法处理环境变量。应在您的服务器上激活mod_env
模块,否则您的解决方案将无效。
但您不需要使用环境变量:
将从Magento启动的商店在根目录的index.php中定义。在文件的末尾,您将找到以下代码:
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
Mage::run($mageRunCode, $mageRunType);
将其更改为:
switch($_SERVER['HTTP_HOST']) {
case 'maindomain.com':
case 'www.maindomain.com':
$mageRunCode = 'firstsite';
$mageRunType = 'website';
break;
case 'subdomain.maindomain.com':
$mageRunCode = 'secondsite';
$mageRunType = 'website';
break;
}
Mage::run($mageRunCode, $mageRunType);
只需使用您的实际值更改$mageRunCode
和所需的$mageRunType
,它就应该有效!