1

我已将 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(如“鲜花”),则将加载旧的 (!!) 花店(重定向到旧花 url)。

我想如果不看代码就很难解决问题,但我没有其他想法可以在这里尝试。我真的很感激任何提示。

4

3 回答 3

1

我曾经遇到过同样的问题,我花了将近一整天的时间才弄清楚出了什么问题。我有一个多商店,但所有商店在我尝试的每个 URL 上都给出了 404 页面。最后的解决方案是从MAGE_RUN_TYPE更改websitestore

于 2015-02-11T15:47:18.183 回答
0

在 index.php 标头中添加:

$_SERVER['MAGE_RUN_CODE'] = $_SERVER['REDIRECT_MAGE_RUN_CODE'];
$_SERVER['MAGE_RUN_TYPE'] = $_SERVER['REDIRECT_MAGE_RUN_TYPE'];
于 2015-01-20T14:34:05.720 回答
0

由于以下几行,您的 index.php 文件将覆盖MAGE_RUN_CODEandMAGE_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 安装中的所有文件都将设置为正确的权限。

于 2013-10-22T22:06:57.020 回答