3

我正在尝试根据语言建立具有多个域的商店:例如 mysite.com(英语)、mysite.it(意大利语)、mysite.ru(俄语)。

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

我的 apache 设置如下:

<VirtualHost *:80>
ServerName mysite.rb.com
ServerAlias mysite.it
ServerAlias mysite.ru
...

问题是,如果我将 http 主机打印到日志中,它总是:

[HTTP_HOST] => mysite.com

如果我输入mysite.it或者mysite.ru 我对 apache 做错了什么?我应该声明另一个虚拟主机而不是别名吗?

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

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

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

4

1 回答 1

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

于 2013-06-21T00:43:02.000 回答