【问题标题】:can we create same store view for multiple websites in magento我们可以在 magento 中为多个网站创建相同的商店视图吗
【发布时间】:2015-09-17 17:25:58
【问题描述】:

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

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

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

【问题讨论】:

  • 这是一个编程相关的问题吗?
  • 是的,如果可以通过编程解决,但我认为这只是 htaccess 和重写 magento 的规则。如果我们编辑 magento 的核心代码,可以通过编程方式完成,以便可以使用多个网站创建商店视图。

标签: magento multistore


【解决方案1】:

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

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

示例配置

对于商店代码 enfrde

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

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

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

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

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

(1) 绝对有效,我过去做过。 (2) 应该可行,但可能需要考虑更多事项

【讨论】:

  • 我不擅长 htaccess。你能详细说明一下吗?这会很有帮助。
  • 我的错。从标志中删除L,这会阻止对原始规则的进一步处理。
  • 符号链接有效,但不适用于 /customer/account/create 等 magento 页面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 2018-11-07
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多