Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 如何在magento中为不同的商店视图使用不同的URL?_.htaccess_Magento_Url_Mod Rewrite - Fatal编程技术网

.htaccess 如何在magento中为不同的商店视图使用不同的URL?

.htaccess 如何在magento中为不同的商店视图使用不同的URL?,.htaccess,magento,url,mod-rewrite,.htaccess,Magento,Url,Mod Rewrite,我在我的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

我在我的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_代码和MAGE_RUN_类型,直到我意识到它们用于获取不同的存储,而不是不同的存储视图

因为我为我的德语商店视图配置了基本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根目录中的
.htaccess
文件底部尝试此操作

SetEnvIf Host www\.myshopsite.\.$ MAGE_RUN_CODE=$1
MAGE\u RUN\u code
变量用于Magento商店视图。实际上,您将其设置为
System>managestores>storeview

我已经做了很多这样的配置,所以我知道有时候您的服务器环境设置(apache等)可能会有所不同,在.htaccess中使用SetEnvIf可能不起作用。如果是这样的话,最好在
index.php
中插入一些代码,以获得所需的结果


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

经过一次深入的测试,我发现我的配置无法正常工作。非常感谢您给我的任何提示,让我将magento商店(1.7.x)配置为根据URL显示商店视图,而无需编辑index.php。非常感谢。这个变量就是我正在搜索的变量。同时,客户打电话过来,规格也改变了…:D.我们需要不同的商店(不是商店视图),因为我们必须在不同的国家展示不同的产品。但我将尝试您的提示,并很高兴现在使用新变量:)