【问题标题】:How can I use different urls for different store views in magento?如何在 magento 中为不同的商店视图使用不同的 url?
【发布时间】:2013-07-18 18:28:44
【问题描述】:

我的 magento 商店针对不同的语言有不同的商店视图。我可以通过

访问它们
www.serverdomain.from.my.hoster.tld/langkey/

langkeys 是不同商店视图的代码,我启用了“将商店代码添加到 url”。

现在,我想在不编辑 index.php 的情况下使用我的以下注册域

www.myshopsite.langkey

例如:

www.myshopsite.de
www.myshopsite.en
www.myshopsite.com

为此,我尝试通过 htaccess 设置 MAGE_RUN_CODE 和 MAGE_RUN_TYPE,直到我意识到它们用于获取不同的商店而不是不同的商店视图。

由于我为德语商店视图配置了基本 URL,因此我可以通过以下方式访问它

www.myshopsite.de/de/

现在我正在尝试从 www.myshopsite.de/ 内部重定向到 www.myshopsite.de/de/ 以删除尾随的商店查看代码。

这是我的尝试,以重定向到 www.myshopsite.de/en/ 和内部服务器错误结束

RewriteEngine on
RewriteRule ^$ de/$1 [L]
RewriteRule ^(.*) de/$1 [L]

如果我的错很明显,我很抱歉。

【问题讨论】:

  • 经过更深入的测试后,我发现我的配置无法正常工作。我很感谢任何提示配置我的 magento 商店(1.7.x)以根据 URL 显示商店视图而不编辑 index.php。

标签: .htaccess magento url mod-rewrite


【解决方案1】:

您可以在位于 Magento 根目录的 .htaccess 文件的底部尝试此操作。

SetEnvIf Host www\.myshopsite.\.$ MAGE_RUN_CODE=$1

MAGE_RUN_CODE 变量用于 Magento 商店视图。您基本上将其设置为System > Manage Stores > Store View下设置的商店视图代码

我已经完成了很多这样的配置,所以我知道有时您的服务器环境设置(apache 等)可能会有所不同,并且在 .htaccess 中使用 SetEnvIf 可能不起作用。如果是这种情况,您最好在index.php 中插入一些代码,以实现您正在寻找的结果。

是的,它正在修改核心文件,但是考虑到这种情况,让 PHP 处理存储变量映射而不是 apache 可能更稳定。

【讨论】:

  • 非常感谢。这个变量是我正在寻找的变量。与此同时,客户打来电话,规格发生了变化……:D。我们需要不同的商店(不是商店视图),因为我们必须在国家/地区展示不同的产品。但我会尝试你的提示,很高兴现在有了新变量:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-27
  • 2019-09-03
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多