我有多个商店网站,我想在url中添加语言功能。我已经为第一个站点(例如www.site-one.com)创建了带有代码'en'的商店视图名称,以便用户可以打开www.site-one.com/en。
现在我想为第二个网站创建相同的,但使用相同的代码为第二个网站(例如www.site-two.com)是给出错误"存储与相同的代码已经存在。"。
是否可以为多个站点创建相同的存储代码,以便用户也可以打开www.site-two.com/en
遗憾的是没有。core_store
数据库表中的存储代码有一个唯一的键,改变这个键会破坏Magento中的很多东西。
一个可能的解决方法是不使用"前置存储代码"配置,而是为像http://www.site-one.com/en/
这样的存储配置基本url。然后创建一个重写规则(例如使用.htaccess
)来将所有来自/en/*
的请求定向到/*
,等等。
OK,我测试了它,确实从Magento得到了404错误,可能是因为它试图评估相对于index.php
的请求URI。
index.php
和.htaccess
,以及
- 符号链接所有其他目录(
en/app -> app
等)或 - 调整index.php指向正确的
Mage.php
,并且只配置web base url和子目录,这样js, media和skin文件仍然从原始路径加载。
(1)绝对有效,我以前就这样做过。