Php 配置Magento+;在多个域上运行多个存储时使用Apache?

Php 配置Magento+;在多个域上运行多个存储时使用Apache?,php,apache,magento,Php,Apache,Magento,这个问题在互联网上到处都被问过,所以,关于每个人的特定安装的具体细节掩盖了可用的答案。希望这个问题能帮助包括我在内的所有人更好地理解这一点 我的问题是“我们应该如何配置Apache.conf文件来处理多个域?” (我知道答案是“视情况而定”。希望80%的人会先有一个基本的设置,然后再让它变得更复杂。)我希望这是一个很好的假设 我将Magento的安装与Wordpress进行比较。在Wordpress下,安装它的“最佳方式”似乎是将整个内核放入名为/Wordpress的文件夹中。然后,使用Apac

这个问题在互联网上到处都被问过,所以,关于每个人的特定安装的具体细节掩盖了可用的答案。希望这个问题能帮助包括我在内的所有人更好地理解这一点

我的问题是“我们应该如何配置Apache.conf文件来处理多个域?”

(我知道答案是“视情况而定”。希望80%的人会先有一个基本的设置,然后再让它变得更复杂。)我希望这是一个很好的假设

我将Magento的安装与Wordpress进行比较。在Wordpress下,安装它的“最佳方式”似乎是将整个内核放入名为/Wordpress的文件夹中。然后,使用Apache重写规则和永久链接,隐藏/wordpress文件夹。在多域情况下,Wordpress core可以灵活地为您处理整个过程,而无需对.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根目录中,如下所示:

/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>
#侦听所有IP地址上的虚拟主机请求
名称虚拟主机*:80
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot/var/www/html/magento
允许超越所有
#这里还有其他指示
设置环境图像运行代码“站点1”
设置环境图像运行类型“网站”
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot/var/www/html/magento
允许超越所有
#这里还有其他指示
设置环境图像运行代码“基本”
设置环境图像运行类型“站点2\u en”
DocumentRoot/var/www/html/nowhere
/nowhere文件夹有一个index.html,上面写着“no where”

我所看到的情况如下:

  • 导航至www.site1.com->Magento重定向至默认存储视图(在IP地址上)
  • 导航至www.site2.com->Magento重定向至默认商店视图(在IP地址上)
  • 导航到我的服务器的IP地址->Magento显示默认的存储视图
默认存储视图的基本URL为

以下是我的问题:

  • 我们应该在MAGE_RUN_代码和MAGE_RUN_类型中添加什么?有些网站说“网站”,有些说“商店”。里面应该放什么
  • 为什么我不去我的无处可去的网站
  • 为什么www.site1.com不断重定向到默认的商店视图
  • 一些文档谈到了创建专用文件夹或围绕index.php或.htaccess进行复制。或者让我们自己的。htaccess。在本文中,我选择了Apache配置文件

    为什么这样不行

    为什么www.site1.com不断重定向到默认的商店视图

    System->Configuration->General->Web

    在那里,您应该可以找到用于存储的基本安全URL和基本不安全URL。此外,在左上角,您应该可以看到设置的范围。所以对于每个商店视图,您应该更改(如果可能的话)商店视图的URL

    我们应该在MAGE_RUN_代码和MAGE_RUN_类型中添加什么?有些网站说“网站”,有些说“商店”。里面应该放什么

    如果我没有在代码中出错,请指定要启动的“对象”的代码,并在类型中指定此对象的类型-商店或网站但这不是100%的信息。