我正在尝试根据语言构建一个包含多个域的商店:例如mysite.com(英语),mysite.it(意大利语),mysite.ru(俄语)。
我正在关注this和this,但我认为这可能是一个非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自己处理这个重定向答案 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