我有一个荷兰语网站。http://www.domain.com和http://www.domain.com/german的德国国旗按钮。
我用当地语言德语制作了一个名为 German 的商店视图。我如何在链接 www.domain.com/german 上查看此商店视图
我有一个荷兰语网站。http://www.domain.com和http://www.domain.com/german的德国国旗按钮。
我用当地语言德语制作了一个名为 German 的商店视图。我如何在链接 www.domain.com/german 上查看此商店视图
有几种方法可以做到这一点。
1) 在 URL 中启用商店代码。
Magento 允许您将商店视图的商店代码添加到 URL。例如,如果您的荷兰商店视图有一个代码dutch
,而您的德国商店视图有一个代码german
,那么 Magento 将自动加载正确的商店。domain.com/dutch
将加载荷兰语版本,domain.com/german
并将加载您网站的德语版本。此解决方案的缺点是即使为主域添加了商店代码。
配置设置可以在管理面板(又名 Back Office,BO)> 系统 > 配置 > Web > 网址选项中找到。在那里您将找到“将商店代码添加到 URL”选项。
2) 编辑.htaccess
文件。
如果您想避免解决方案 1) 的缺点,您可以修改您的主.htaccess
文件。添加将搜索/german
后缀并加载德语商店代码的条目。这是一个小例子(我不是这方面的专家,但应该是这样的):
SetEnvIf Host .*domain.com/german.* MAGE_RUN_CODE="german"
你可以玩.htaccess
更多。如果您想了解更多信息,请搜索网络.htaccess
。
3)index.php
应用程序的修改
这与解决方案 2) 非常相似,但您直接在 PHP 中执行此操作。寻找
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
行 index.php 并将其替换为以下内容:
if (!$_SERVER['MAGE_RUN_CODE'] && strpos($_SERVER['HTTP_HOST'], '/german') !== false) {
$mageRunCode = 'german';
} else {
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
}
4) 向 Apache vhost 添加一个新条目。
为域创建一个新的虚拟主机(vhost)domain.com/german
并放在那里SetEnv MAGE_RUN_CODE "german"
。
在我看来,最好的选择是 2)。它是最灵活的,您不必更改任何代码。对于开发工作站 4) 也足够了。
请注意,这些只是示例,它们可能不适用于第一次拍摄。我是凭记忆写的,现在我无法真正检查它们。希望这能让您简要了解如何处理您的情况。