【问题标题】:magento 1.6 multiple website under IISIIS下magento 1.6多网站
【发布时间】:2011-10-27 01:00:13
【问题描述】:

我得到了带有godaddy的windows server 2008 r2标准虚拟服务器。

我在 IIS 7.5 下部署了 magento community 1.6.1.0,它运行良好。

我尝试按照此链接使用一个后端来管理多个网站

http://www.magentocommerce.com/knowledge-base/entry/overview-how-multiple-websites-stores-work

我在与基础 magento 安装文件夹相同级别创建了一个傻瓜 在此处复制 index.php 和 .htaccess 文件,将 index.php 修改为 Mage::run('mysite1', 'website'); 在 IIS 中创建一个新网站并指向此文件夹 为这个新网站的独家新闻配置 web 选项卡以配置基本 url 和安全基本 url

问题是当我访问新域时,它总是重定向到默认magento商店的基本网站。

我做了一些搜索,有些帖子说“重定向到基本 url 选项”,但无处可寻。 我还尝试将“自动重定向到基本 URL”设置为否,但它没有帮助。

谁能帮我解决这个问题?

谢谢

【问题讨论】:

    标签: php iis magento


    【解决方案1】:

    你不需要不同的 index.php

    如果您的主站点是 www.mainsite.com 并且是 Magento 中的“主站点”,并且您的新域是 www.anothersite.com 并且是“另一个站点”,则将此代码放入您的 index.php 中:

    switch($_SERVER['HTTP_HOST']) {
      case 'www.mainsite.com' :
        Mage::run('mainsite', 'website');
        break;
    
      case 'www.anothersite.com' :
        Mage::run('anothersite', 'website');
        break;
    
      default:
        Mage::run();
    }
    

    我个人更喜欢使用 Mage::run('anothersite', 'store');

    现在 - 非常重要 - 您需要进入 Magento 配置,在其中放置 FRONT 和 BACKEND URL 并切换到新的网站级别。然后,您可以覆盖默认值并放入新域。

    希望这会有所帮助 - 如果您需要进一步扩展解决方案,请告诉我

    巴尼

    【讨论】:

    • 嗨,巴尼,感谢您的帮助。我设法让它工作。我在 IIS 下创建了另一个站点,并指向与默认安装文件夹相同的文件夹。我将您建议的内容放入 index.php 文件中,我进入管理 --> 配置 --> web 基本 url 和安全基本 url,然后它工作得很好。只是另一件事,我记得有人说把这样的东西放到 .hcaccess 文件中
    • SetEnvIf Host .*ugg\.ultimateluxuryfashion\.com.* MAGE_RUN_CODE='base' SetEnvIf Host .*ugg\.ultimateluxuryfashion\.com.* MAGE_RUN_TYPE='website' SetEnvIf Host .*bags\ .ultimateluxuryfashion\.com.* MAGE_RUN_CODE='bags1' SetEnvIf Host .*bags\.ultimateluxuryfashion\.com.* MAGE_RUN_TYPE='website'
    • 但它不起作用,您对这个解决方案有任何想法吗?为什么它不起作用?
    • IIS 不解释 .htaccess 文件,您必须使用它的替代方案,即 web.config 文件:en.wikipedia.org/wiki/Web.config
    【解决方案2】:

    这意味着通过 .htaccess 文件来完成。您应该在底部添加以下代码:

    # domain1.com
    SetEnvIf Host domain1\.com MAGE_RUN_CODE=domain1
    SetEnvIf Host domain1\.com MAGE_RUN_TYPE=website
    
    # domain2.com
    SetEnvIf Host domain2\.com MAGE_RUN_CODE=domain2
    SetEnvIf Host domain2\.com MAGE_RUN_TYPE=website
    

    MAGE_RUN_CODE 必须与您在创建该网站时在 Magento 后台输入的网站代码相对应。

    【讨论】:

    • 不知何故它不起作用,我将 index.php 保留为默认值并将上述代码添加到 .htaccess,它总是重定向到基础网站。
    • 不知何故它不起作用,我将 index.php 保留为默认值并将上述代码添加到 .htaccess,它总是重定向到基本网站。但是如果我修改 index.php,它就可以工作。我也想使用 .htaccess 方法,你能帮我解决这个问题吗?我是一个.net 开发人员,对php 不太了解。它在IIS下工作吗?我需要为 .htaccess 工作中的设置做些什么吗?还是只在 IIS 中工作?
    • 据我所知 Magento 并不正式支持在 Windows 环境中运行。您确定 IIS 正在读取/使用 .htaccess 文件吗?
    • IIS 不使用 .htaccess 文件,我必须使用 index.php 文件来实现这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多