Magento和多个域名

时间:2013-06-18 07:40:30

标签: apache magento

我正在尝试根据语言构建一个包含多个域的商店:例如mysite.com(英语),mysite.it(意大利语),mysite.ru(俄语)。

我正在关注thisthis,但我认为这可能是一个非magento问题。

我的apache设置如下:

<VirtualHost *:80>
ServerName mysite.rb.com
ServerAlias mysite.it
ServerAlias mysite.ru
...
问题是,如果我打印到http主机的日志,它始终是:

[HTTP_HOST] => mysite.com

如果我输入mysite.itmysite.ru 我在做apache有什么问题吗?我应该声明另一个虚拟主机而不是别名吗?

如果我无法正确识别请求的主机,我也无法显示正确的商店。

PS:不安全且安全的基本网址已设置为正确的域名,每个域名都使用正确的语言

编辑:现在我确定这不是一个apache问题。我删除了我的项目目录,而apache没有发送302重定向。所以Magento自己处理这个重定向

1 个答案:

答案 0 :(得分:1)

apache虚拟主机设置错误。您需要为每个域分别设置虚拟主机条目,如下所示:

<VirtualHost *:80>
    ServerAdmin webmaster@domain1.com
    DocumentRoot /var/www/http
    ServerName domain0.com
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@domain2.com
    DocumentRoot /var/www/http
    ServerName domain1.com
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@domain3.com
    DocumentRoot /var/www/http
    ServerName domai2.com
</VirtualHost>

还有Magento根目录中的.htaccess文件:

SetEnvIf Host www\.domain1\.com MAGE_RUN_CODE=domain1_com
SetEnvIf Host www\.domain1\.com MAGE_RUN_TYPE=website
SetEnvIf Host ^domain1\.com MAGE_RUN_CODE=domain1_com
SetEnvIf Host ^domain1\.com MAGE_RUN_TYPE=website

SetEnvIf Host www\.domain2\.com MAGE_RUN_CODE=domain2_com
SetEnvIf Host www\.domain2\.com MAGE_RUN_TYPE=website
SetEnvIf Host ^domain2\.com MAGE_RUN_CODE=domain2_com
SetEnvIf Host ^domain2\.com MAGE_RUN_TYPE=website

SetEnvIf Host www\.domain3\.com MAGE_RUN_CODE=domain3_com
SetEnvIf Host www\.domain3\.com MAGE_RUN_TYPE=website
SetEnvIf Host ^domain3\.com MAGE_RUN_CODE=domain3_com
SetEnvIf Host ^domain3\.com MAGE_RUN_TYPE=website

有关详细信息,请参阅以下链接:

http://www.magentocommerce.com/knowledge-base/entry/tutorial-multi-site-multi-domain-setup