Magento:Moved Multistore - 新商店总是重定向到旧域,尽管是新的base_url

时间:2013-10-22 22:03:48

标签: magento

我已将Multistore移动到另一个具有以下结构的网络服务器:

mystore.com --> Magento Multistore installation
flowers.website.com --> symlinks to mystore.com folder
cars.website.com --> symlinks to mystore.com folder

新设置完全相同(只有不同​​的域和文件夹名称)。

但是,如果我转到新网址mynewstore.com,我将始终重定向到旧域。 我已经做过/尝试过的事情:

  • 更改了core_config_data
  • 中的base_urls
  • 已删除var + 777权限
  • 清理会话表
  • 重新索引
  • 检查htaccess是否有重定向
  • 检查index.php
  • 检查不同商店的模板以进行重定向

我的index.php的重要部分:

/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
$mageRunCode = 'mystore';
$mageRunType = 'website';
Mage::run($mageRunCode, $mageRunType);

如果我要将$mageRunCode更改为另一个商店ID(如“鲜花”),则会加载旧的(!!)花店(重定向到旧花卉网址)。

我想在没有查看代码的情况下很难解决问题,但我没有其他想法在这里尝试。我真的很感激任何提示。

3 个答案:

答案 0 :(得分:1)

我曾经遇到过同样的问题,我花了差不多一整天的时间来弄清楚出了什么问题。我有一个多线程,但所有商店在我尝试的每个网址上都给出了404页面。最后解决方案是将MAGE_RUN_TYPEwebsite更改为store

答案 1 :(得分:0)

您拥有的index.php文件会覆盖MAGE_RUN_CODEMAGE_RUN_TYPE变量,因为这些行:

$mageRunCode = 'mystore';
$mageRunType = 'website';

由于它们在初始定义后被调用,因此被重置为mystorewebsite

尝试删除这些行,并查看变量是否已正确传递到Mage::run()函数。


有关CHMODing至777的重要通知

这是一个有潜在危险的事情,因为它可以允许公共访问您的文件系统。出于这个原因,您永远不想在生产站点上设置 777 权限集。

将文件夹设置为755,将文件设置为644 。为此,请打开一个shell连接并将cd打开到Magento根目录。运行以下命令:

chmod -R 755 *; find -type f -print0|xargs -0 chmod 644

如果运行正确,Magento安装中的所有文件都将设置为正确的权限。

答案 2 :(得分:0)

在index.php标题中

添加:

$_SERVER['MAGE_RUN_CODE'] = $_SERVER['REDIRECT_MAGE_RUN_CODE'];
$_SERVER['MAGE_RUN_TYPE'] = $_SERVER['REDIRECT_MAGE_RUN_TYPE'];