2

我的 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]

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

4

1 回答 1

6

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

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

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

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

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

于 2013-07-19T15:46:05.913 回答