3

我有多个商店网站,我想在 url 中添加语言功能。我已经为第一个站点(例如 www.site-one.com)创建了带有代码“en”的商店视图名称,以便用户可以打开 www.site-one.com/en。

现在我想为第二个站点创建相同的代码,但为第二个站点使用相同的代码(例如 www.site-two.com)会给出错误“具有相同代码的商店已经存在。”。

这是否可以为多个站点创建相同的商店代码,以便用户也可以打开 www.site-two.com/en

4

1 回答 1

0

不幸的是没有。数据库表中的存储代码core_store有一个唯一的键,更改它会破坏 Magento 中的很多东西。

一种可能的解决方法是不使用“预置商店代码”配置,而是为商店配置基本 url,例如http://www.site-one.com/en/. 然后创建一个重写规则(例如使用.htaccess)来引导所有请求 from /en/*to/*等等。

示例配置

对于商店代码enfrde

RewriteRule ^(?:en|fr|de)/(.*)$ $1 [QSA]

这应该放在所有其他重写规则之前。

好的,我对其进行了测试,确实从 Magento 收到了 404 错误,可能是因为它试图评估相对于index.php.

通常的方法似乎是实际创建子目录,复制index.php.htaccess,或者

  1. 符号链接所有其他目录(en/app -> app等)
  2. 调整 index.php 以指向正确Mage.php并仅配置带有子目录的web base url,以便 js、媒体和皮肤文件仍然从其原始路径加载。

(1)绝对有效,我过去做过。(2) 应该可以工作,但可能还有更多需要考虑的事情

于 2015-09-17T06:56:18.770 回答