magento重定向到另一个子域基于cookie在多商店技巧


magento redirects to another subdomain based on cookie in multistores trick

我有一个magento商店,但目前决定添加其他商店来分离库存,也有一个干净的目录,所以我决定创建商店并将其托管在electronics.mydomain.comsport.mydomain.com等子域上。我遵循了这个教程http://www.crucialwebhost.com/blog/how-to-setup-multiple-magento-stores/但在那之后,子域仍然重定向到像www.mydomain.com这样的主域,尽管我对.htaccess什么都没做,我找到了一种方法,打开子域目录中的index.php,添加$_GET['___store']= "STORECODE";,在我的管理面板中,我在cookie字段中键入.mydomain.com,并将持续时间延长到1天。

现在一切都很正常,直到我意识到有问题,每当我访问我的任何商店(安装在子域上),然后试图打开我的主域www.mydomain.com时,它会重定向到subdomain.mydomain.com(这是我检查的最后一个子域的url),但在清除cookie后,它又能工作了,我意识到问题是,magento将当前存储id保存在cookie中,所以当我打开主域并读取cookie时,会返回该存储,从而重定向。好吧,现在我已经可以从url中删除SID了,一切都正常,因为它们共享同一个cookie域,现在我注意到我是否访问了像welspot.com这样的链接_store=默认情况下,主站点打开时没有重定向到子域,我希望有人能帮助我将主域下的所有传入请求重定向到mydomain.com_store=默认值。

由于我仍然有cookie重定向的问题,我在主magento安装的头部将$_GET['store']="default";硬编码到了我的index.php文件中,现在一切都正常,但还有另一个问题,当我转到类别字段并尝试选择它没有选择的任何类别时,它只是显示创建新类别,而不是选择和编辑点击类别,我认为这与在我的index.php中添加$_GET['store']="default";有关,因为当我删除它时,一切都正常,但当我删除了它并访问我的网站welspot.com时,根据我最近访问的子域,它重定向到那里,我真的需要解决这个问题。

与其编辑每个商店上的index.php(这是一个维护麻烦),我要做的是使用本博客文章中描述的虚拟主机或.htaccess解决方案来设置一个环境变量,其中包含每个商店的唯一商店代码。在一个nutell中添加行

SetEnv MAGE_RUN_CODE "base" # put here your website or store code
SetEnv MAGE_RUN_TYPE "website" # put here 'website' or 'store'

进入您的虚拟主机,或:

SetEnvIf Host electronics.mydomain.com MAGE_RUN_CODE="base";
SetEnvIf Host electronics.mydomain.com MAGE_RUN_TYPE="website";

进入你的.htaccess。确保你也在主域上这样做,以设置默认的存储代码。

同时登录到后端,然后转到系统>配置。然后选择"Web"选项,您将在其中看到网站的安全和不安全URL。现在,从左上角的"当前配置范围"下拉列表中选择每个商店,并更改url以匹配已设置的虚拟主机(取消选中"使用默认值"框并输入新url)。这应该会停止你看到的重定向,因为Magento现在知道了每个商店的唯一子域。

我建议您以其他方式实现新域。你可以在这个博客中查看:

西班牙语:

http://www.elblogdeselo.com/magento-configurar-multiples-stores-y-multiples-websites

英文:

http://blog.baobaz.com/en/blog/setting-up-magento-with-multiple-websites-or-stores?page=1希望能帮助你。