在Magento multistore中使用子域和子目录?

时间:2015-04-08 14:06:01

标签: magento subdomain subdirectory multistore

我目前在Magento有一个商店,有不同语言的商店浏览量,例如example.com/sv/,example.com/fi/等。现在我想将商店添加到子域名为test.example.com但是我无法使它发挥作用。

我为子域添加了新商店和新商店视图,然后为此更改了基本URL。我创建了子域,它指向magento安装的位置。我还在.htaccess文件中添加了不同的行,尝试了下面的一些变体。

SetEnvIf Host .*newstore.* MAGE_RUN_CODE=newstore
SetEnvIf Host .*newstore.* MAGE_RUN_TYPE=website

RewriteCond %{HTTP_HOST} .*newstore\.com [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:newstore]
RewriteCond %{HTTP_HOST} .*newstore\.com [NC]
RewriteRule .* - [E=MAGE_RUN_TYPE:website]

但没有任何作用。当我尝试访问子域时,我被重定向到主商店。但我可以作为子目录访问新商店,它应该像这个test.example.com,但我必须写example.com/test。

我想做什么甚至可能?

更新15-04-09

我在.htaccess文件中发现了一个重定向,导致子域被重定向到主存储。我删除它,现在我可以访问子域名,但页面只是白色,并显示“索引/”等,所以我没有得到magento商店视图。

1 个答案:

答案 0 :(得分:1)

我在我的.htaccess中使用这个代码来做你想要的:

SetEnvIfNoCase Host "^it\.mystore\.com$"    MAGE_RUN_TYPE=website MAGE_RUN_CODE=ws_it
SetEnvIfNoCase Host "^pt\.mystore\.com$"    MAGE_RUN_TYPE=website MAGE_RUN_CODE=ws_pt

SetEnvIfNoCase Host "^fr\.mystore\.be$" MAGE_RUN_TYPE=store MAGE_RUN_CODE=fr_be
SetEnvIfNoCase Host "^nl\.mystore\.be$" MAGE_RUN_TYPE=store MAGE_RUN_CODE=nl_be

另请确保您已在System>中正确定义基本网址(在您的示例中为:test.example.com)配置>一般网络>为您的新网站或商店保护 Unsecure