0

我有一个荷兰语网站。http://www.domain.com和http://www.domain.com/german的德国国旗按钮。

我用当地语言德语制作了一个名为 German 的商店视图。我如何在链接 www.domain.com/german 上查看此商店视图

4

1 回答 1

0

有几种方法可以做到这一点。

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) 也足够了。

请注意,这些只是示例,它们可能不适用于第一次拍摄。我是凭记忆写的,现在我无法真正检查它们。希望这能让您简要了解如何处理您的情况。

于 2013-04-02T16:31:45.717 回答