【问题标题】:Use both subdomains and subdirectories in Magento multistore?在 Magento 多存储中同时使用子域和子目录?
【发布时间】:2015-04-08 14:06:00
【问题描述】:

我目前在 Magento 有一家商店,有几个商店视图,用于不同的语言,例如 example.com/sv/、example.com/fi/ 等。现在我想将商店添加到子域中,例如 test.example.com 但是我不能让它工作。

我为子域添加了一个新商店和一个新商店视图,然后为此更改了基本 URL。我已经创建了子域,它指向 magento 安装的位置。我还在 .htaccess 文件中添加了不同的行,尝试了以下的一些变体。

SetEnvIf Host .*newstore.* MAGE_RUN_CODE=newstore
SetEnvIf Host .*newstore.* MAGE_RUN_TYPE=website

RewriteCond %{HTTP_HOST} .*newstore\.com [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:newstore]
RewriteCond %{HTTP_HOST} .*newstore\.com [NC]
RewriteRule .* - [E=MAGE_RUN_TYPE:website]

但是没有任何效果。当我尝试访问子域时,我被重定向到主商店。但是我可以将新商店作为子目录访问,它应该是这样的 test.example.com 但我必须写 example.com/test。

我想做的事是否可能?

2009 年 4 月 15 日更新

我在 .htaccess 文件中发现了一个重定向,导致子域被重定向到主存储。我删除了它,现在我可以访问子域,但页面只是白色的,上面写着“/的索引”等,所以我没有看到 magento 商店视图。

【问题讨论】:

    标签: magento subdomain subdirectory multistore


    【解决方案1】:

    我在我的 .htaccess 中使用此代码来满足您的需求:

    SetEnvIfNoCase Host "^it\.mystore\.com$"    MAGE_RUN_TYPE=website MAGE_RUN_CODE=ws_it
    SetEnvIfNoCase Host "^pt\.mystore\.com$"    MAGE_RUN_TYPE=website MAGE_RUN_CODE=ws_pt
    
    SetEnvIfNoCase Host "^fr\.mystore\.be$" MAGE_RUN_TYPE=store MAGE_RUN_CODE=fr_be
    SetEnvIfNoCase Host "^nl\.mystore\.be$" MAGE_RUN_TYPE=store MAGE_RUN_CODE=nl_be
    

    还要确保您已在系统 > 配置 > 常规 Web > 安全 不安全中正确定义 基本 URL(在您的示例中:test.example.com)您的新网站或商店

    【讨论】:

    • 我试过了,但还是不行。我发现了一个导致一些问题的重定向,所以现在我只得到一个白页,上面写着“/索引”等。我仍然没有得到新的商店视图。
    • 你在“索引”下面的列表中看到index.php、cron.php...吗?
    • 不,我没有。页面上没有列出任何文件。
    • 子域指向与主域相同的IP。我想这可能与服务器上的设置有关。我有一个文件夹“www”,其中包含两个文件夹“html”和“www.test.com”。在“html”文件夹中只有一个 .htaccess 文件,在另一个文件夹中还有一个名为“html”的文件夹,其中包含 Magento 安装。也许我只能进入第一个“html”文件夹?
    • 您可能需要在 apache 中进行一些配置(查找 httpd.conf 或 httpd-vhosts.conf),以使您的新子域指向正确的 Magento 安装文件夹。要回答你的最后一个问题,我猜是的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 2012-06-06
    • 2013-07-11
    相关资源
    最近更新 更多