这个问题已经在互联网和SO上得到了充分的问题 - 有关每个人特定安装的具体细节都掩盖了可用的答案。希望这个问题能帮助包括我在内的每个人更好地理解这一点。
我的问题是“我们应该如何配置Apache .conf文件来处理多个域?”
(我知道答案“取决于”。希望80%的人一开始会有一个基本的设置然后让它变得更复杂。)我希望这是一个很好的假设。
我正在将Magento的安装与Wordpress进行比较。在Wordpress下,安装它的“最佳方式”似乎是将整个核心放入名为/ wordpress的文件夹中。然后,使用Apache重写规则和永久链接,隐藏/ wordpress文件夹。在多域的情况下,Wordpress核心智能地为您处理整个过程,而无需对.htaccess文件进行太多修改。此外,无论需要做什么修改,Wordpress都可以为您完成 - 或者插件可以。天哪,我希望Magento像Wordpress一样容易安装。但事实并非如此。 (还!)
在Magento下,当我们考虑URL时,术语“商店”是非常误导的。所以我们暂时忽略它,只关心最低级别 - “商店视图”。就我而言,我有以下内容:
Main Web Site -> Main Web Site Store -> Default Store View
www.site1.com -> Main Store -> site1_english
www.site2.com -> Main Store -> site2_english
关于物理放置文件的位置。包括我在内的大多数人都希望单独留下Magento核心。完全没有变化。所以我们把它放到htdocs root中,如下所示:
/var/www/html/magento
我认为这是每个人都感到困惑的地方。 Linux发行版与此位置的位置不一致。更糟糕的是,很多人都试图在一个经济的托管帐户上这样做。我自己在使用EC2。忽略所有...在文档根目录中粘贴/ magento。您可能添加的下一件事是/ wordpress文件夹。好极了。以后再做。
在我的apache配置中,我设置如下:
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/html/magento
<Directory /var/www/html/magento/>
AllowOverride All
</Directory>
# Other directives here
SetEnv MAGE_RUN_CODE "site1"
SetEnv MAGE_RUN_TYPE "website"
</VirtualHost>
<VirtualHost *:80>
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/html/magento
<Directory /var/www/html/magento/>
AllowOverride All
</Directory>
# Other directives here
SetEnv MAGE_RUN_CODE "base"
SetEnv MAGE_RUN_TYPE "site2_en"
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/nowhere
</VirtualHost>
/ nowhere文件夹的index.html上写着“no where”。
我所看到的情况就是这样:
默认商店视图的BASE URL为http://my.ip.add.ress
以下是我的问题:
有些文档谈到了创建专用文件夹或复制index.php或.htaccess。或者制作我们自己的.htaccess。在本文中,我选择了Apache配置文件。
为什么不能正常工作?
答案 0 :(得分:0)
为什么www.site1.com会继续重定向到默认商店视图?
转到
System->Configuration->General->Web
在那里你应该找到Base secure和Base不安全URL。此外,在左上角,您应该看到设置的范围。因此,对于每个商店视图,您应该更改(如果可能)商店视图的URL。
我们应该在MAGE_RUN_CODE和MAGE_RUN_TYPE中添加什么?有些网站说“网站”,有人说“网店”。本应该去哪里?
如果我没有在代码中出错,则指定要启动的“对象”的代码,并在类型中指定此对象的类型 - 商店或网站。 但这不是100%信息。