我的magento商店有不同语言的商店视图。我可以通过
访问它们www.serverdomain.from.my.hoster.tld/langkey/
langkeys是不同商店视图的代码,我启用了“将商店代码添加到网址”。
现在,我想使用以下注册域名而不编辑index.php
www.myshopsite.langkey
例如:
www.myshopsite.de
www.myshopsite.en
www.myshopsite.com
为此,我尝试通过htaccess设置MAGE_RUN_CODE和MAGE_RUN_TYPE,直到我意识到它们用于获取不同的商店而不是不同的商店视图。
由于我为德国商店视图配置了基本网址,因此我可以通过
访问它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]
如果我的错很明显,我很抱歉。
答案 0 :(得分:6)
您可以在位于Magento根目录的.htaccess
文件底部试试。
SetEnvIf Host www\.myshopsite.\.$ MAGE_RUN_CODE=$1
MAGE_RUN_CODE
变量适用于Magento Store View。您基本上将其设置为System > Manage Stores > Store View
我已经完成了很多这些配置,所以我知道有时你的服务器环境设置(apache等)可能不同,并且在.htaccess中使用SetEnvIf可能不起作用。如果是这种情况,您可能最好在index.php
中插入一些代码来实现您正在寻找的结果。
是的,它正在修改核心文件,但是考虑到这种情况可能会让PHP处理存储变量映射而不是apache更稳定。