.htacces for madoo中的子域名

时间:2015-09-03 10:43:57

标签: .htaccess magento subdomain magento-1.9 magento-dev

我为我的主域创建了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,为什么会这样呢?有人可以帮帮我吗?

1 个答案:

答案 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,它就应该有效!