在magento1.4中请参考官网 :http://www.magentocommerce.com/knowledge-base/entry/tutorial-multi-site-multi-domain-setup
以下内容为1.2版本适用,1.3也可以试下
预习:
首先让我们来认识几个名词术语,若你是专家你会发现我的解释与名词准确的含义有差异,但对于属于不熟的人还是有助于理解的。
1.parked domain : 你有域名 one.com ,他的网站文件根目录是 public_html/one,你添加一个域名two.com 也是用one.com的文件根目录 public_html/one , 那么这个新添加的域名two.com 就是 parked domain。
2.addon domain : 你有域名 one.com,是用网站文件根目录是 public_html/one,你有添加了另外的域名 two.com three.com,two.com 网站文件根目录是 public_html/two,three.com 是用网站文件目录是 public_html/three 。这个 two.com three.com 我们就可以称之为 addon domain。
3.Subdomains : 你有域名 one.com 使用网站文件文件目录 public_html/one,你因为各种原因想使用 shoes.one.com 或者 cup.one.com 域名,这个 shoes 、cup代替www作为域名的前缀,shoes.one.com cup.one.com 就是 subdomains。
事前指导
我们使用的就是parked domain ,将你要添加的域名指向你的现有magento 文件根目录。
就像预习中提到的,我们有个magento站域名为one.com ,添加新的域名two.com。设置two.com的根目录为one.com的根目录。
此文章是基于magento1.2版本,其它的版本见本篇文章结尾处的提示。
实践
我们假设你的magento 原有的域名是 one.com ,想要实现magento多店的域名是two.com。首先你先安装好 one.com 的magento网站,然后参考如下教程。
1.magento 后台需要做的设置
第一步:进入后台catalog—>manage catagories为要添加的店增加的一个新的根分类 two(名字可以随便取)如下图

第二步:进入system—>manage stores 为要添加的店增加一个新的website,点击create website 按钮。,填写内容如下图,注意填写的code在以后步骤需要使用

然后保存,点击 create store,为新添加的website添加store,如图

Website是刚创建的,root category是第一步中创建的。
然后保存,点击create store view,填写相关信息,如下图

Name、code你自己写个好区分,容易记住的,Status选择enabled(激活)点击保存
第三步 进入system—>configuration
在左侧的设置范围选项中选择在我们新建的店下,对新店进行设置,如下图

我们的新店在上面步骤中取的名字是 two website,我们选择two website,然后选择
左栏的web设置,如下图

去掉所有设置后面的对勾,不使用默认设置,在unsecure base url中填入你的多店的网址,本实例中是 two.com,注意填写完整的域名:http://www.two.com , 域名最后的斜线不要漏掉。
Secure是加密的网址,若你没有使用ssl请也填写 http://www.two.com。最后保存
总结
至此magento中需要设置的内容就没有了。在magento后台的设置中我们在以后步骤会用到的就是在第二步create website时填写的code :two。
2.修改根目录 index.php 文件
打开magento网站根目录,编辑文件 index.php
将
Mage::run();
替换为
switch($_SERVER['HTTP_HOST']) { case 'two.com': case 'www.two.com': Mage::run('two', 'website'); break; default: Mage::run(); break; }
若想添加更多的域名,重复如上步骤即可
至此, 设置完毕,可以使用 two.com 访问
最近有人反映如上的步骤后,网站无法运行,不要慌张,如上的文章是之前对于magento版本1.2适用,其它的版本就没准了。新的magento版本见 http://www.magentocommerce.com/wiki/multi-store_set_up/multiple-website-setup 或google下“magento multiple websites”
转载标明出处: hellokeykey.com 右兜钥匙
小弟来看了。和我用的方法一摸一样,这个方法比较简单,呵呵顶!
请问个问题,我按你的方法,出现一个错误,首页能够正常显示,但是点击其他页面,就出现404错误。刷新缓存还是出现这个问题。请问是怎么回事。.htaccess需要如何修改
我的多语言店面也出现404错误,是应该怎么解决?
google下,当前版本升级很快,你参考下新的文章
哦。可以了。是我自己的失误。新问题,是第二个网站的产品看不到
产品在添加的时候是要选择在哪个域名和店视图里显示的,你以前的产品都还是以前的域名和店视图里的,你要修改下
你好。按照你的方法。结果在访问另一个站点时出现"很抱歉,您访问的页面已不存在。"
这是什么原因啊?
別人基本沒有什麽問題,你多試下吧
你好,我想问下 那addon domain 这种情况该如何配置呢?
你使用的是有cpanel的空间么?这个空间在域名管理里有这个,加上就行了。
查看空间的使用说明,再不行问下技术支持,一般的技术支持都会回答你的问题了 :)
为什么我的一直会跳转到我的第一个域名啊?
先看下你magento的后台域名设置那里设置的是什么,刷新缓存。还有可能就是你服务器环境设置有问题。
如何在网站上设置定义不同的支付方式,就是有的产品可以使用支付宝,有的只可以到付,有的可以使用信用卡
支付是提交订单流程中的一项,你将支付方式在后台设置好(看我的视频教程),这样顾客可以自己选使用哪种了。
你想给某个产品指定支付方式设置起来不是很好弄的。比如:购物车里有两件商品,一个产品你想让客户用paypal,一个产品你想让客户用支付宝,这就不好实现了,也不太合逻辑。
不过你可以建多个店,一个店里只有paypal支付的产品,一个店里只有支付宝支付的产品,这样也许可以变相实现一下。
你这个在magento1.4.1下也适用么??
没事这个版本,你可以试下,然后将结果贴到这里。我最近没有时间,有空我试下。
可在不同的店上显示相同产品吗?
可以
我用的1.4.1.1,这个办法不行,我用这个官方的教程成功了,需要修改.htaccess文件 http://www.magentocommerce.com/knowledge-base/entry/tutorial-multi-site-multi-domain-setup
key,我亟需解决一个问题是如何在cpanel下多店铺用不同的ip,cpanel的addon好像不能设定不同的ip,您有这方面的经验吗?
没有,我的服务器基本都不是cpanel的,都是ssh手工操作。你可以问下空间技术支持,他们是最熟的了。
钥匙兄的教程真是体贴入微,步步指引。
但是在后面的描述中,我好像感觉到了点硬编码的味道。如果再增加新域名网店,好像需要再次编辑 index.php。
忘记贴代码了
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
Mage::run($mageRunCode, $mageRunType);
——-
PS:钥匙兄的这篇博文,被好多人转载
呵呵,我也是看了外国人的博文。谢谢你的补充。
1.5的版本用此法不可行,不知道哪位有其他好的解决方案
google下
这个,好像可以减轻服务器的负担,对吧?在一个VPS上跑俩magento网站,和一个vps上跑一个magento系统,这个系统上俩域名,应该会减轻不少服务器的开销,不过产品多的话,恐怕每次重建索引,清理缓存,都会比较麻烦,卡,不知道到底这俩系统的索引,缓存啥的,是不是可以完全分开?
看下后台,我觉得不支持。最好不要多域名,对以后网站发展扩展不好。设置主从数据库,一个写一个读,这样对性能提升好点。一般20美金的专用服务器跑十个magento是没什么关系的。但产品总量不能太多。
Hi Key,
跟你咨询一下,Magento设置多店和多域名,这样如何设置SSL呢?一个SSL不是针对一个具体的域名和IP的吗?如果两个店,同一个IP,能设置两个SSL吗?还是一个SSL能搞定两个店?
咨询一下两个店的数据库是一个吗?客户是共享的?客户在一个店注册就不用到另一个店注册了对吧?
你被混淆了。多店不是基于多域名的,但是如果你想,你可以多域名多店,这个也是支持的。你可以多个数据库也可以一个这要看你的需求。ssl必须是唯一确定的网址,www.hellokeykey.com与hellokeykey.com 对于ssl来说是两个网址,一个是没有www的。ssl也必须是独立ip,所以你的magento使用ssl就和多域名会产生矛盾。
两个站的产品如果一模一样的话那还需要在TWO.COM里面再添加一次产品吗?
还是说能直接用..我本地试了下好像要重新添加产品才行.不能用ONE.COM里面的产品.
应该是可以的,我测试过的,要到产品的目录里去勾选的。
我记得是支持多站的,可以打勾的
新年好,key..
那个问题我搞清楚了,我把Use Web Server Rewrites都设置为no之后,就可以了,但是这对SEO十分不利,请问我应该怎样做,才能在Use Web Server Rewrites都设置为yes的情况下,两个域名都正常呢?谢谢了。。
我再说下这个问题吧:
我设置了两个域名两个店,domain1.com和domain2.com,但当Use Web Server Rewrites为yes时,domain1.com正常,domain2.com显示page not found, domain2.com的Use Web Server Rewrites设置为no时,就正常了。
cms的page下的homepage应该每个域名对应一个,就不会无法找到了。seo方面看下服务器返回状态,是200就没啥事的
您好key,CMS的page下的homepage有设置好的,我忘记说了domain2.com的主页可以打开,就是其它页面打开显示page not found。
hello,看了很久你的博客,在这里学到了很多东西,非常感谢keykey的无私奉献。
说说我的问题
原有五个域名五个网站,通过这个方法都正常运行,昨天新增加了两个域名。 在magento后台新建了对应的网站-商店-界面,同时修改了index.php,但是现在两个域名一个显示”403 Forbidden”,另一个在浏览器输入时直接跳转到了默认网站。
不建议使用此方法。如果发生了这个错误,就奇怪了,检查下你的设置是否和之前的一样
我的网店是几个人合伙的,有一部分商品是在香港,一部分在内的,关于运费计算找不到一个很好的解决办法,要根据商品所在地进行,进行运费结算,请教一下有没有这样的插件?谢谢
没有这个插件,需要找人开发
你好,我的网址用你的方法成功设置了第二个域名。但是第二个域名在创建商店界面时,除了默认那个界面,新建的界面都会跳回到第一个域名去 ?不知道如何设置?
这是N年前的文章,不要用多域名多店铺,维护会很麻烦,不利于网站长期发展
用多域名多店铺,为什么维护会很麻烦,能详细谈谈吗,
Magento 多店铺是最大的看点,多店铺一个后台也极大方便店主,
添加一个店铺,数据库表就增加很多东西,设置不好,你的网址重写表就可能有好几个G,单是优化就够你费劲的了。