我已将Multistore移动到另一个具有以下结构的网络服务器:
mystore.com --> Magento Multistore installation
flowers.website.com --> symlinks to mystore.com folder
cars.website.com --> symlinks to mystore.com folder
新设置完全相同(只有不同的域和文件夹名称)。
但是,如果我转到新网址mynewstore.com
,我将始终重定向到旧域。
我已经做过/尝试过的事情:
我的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(如“鲜花”),则会加载旧的(!!)花店(重定向到旧花卉网址)。
我想在没有查看代码的情况下很难解决问题,但我没有其他想法在这里尝试。我真的很感激任何提示。
答案 0 :(得分:1)
我曾经遇到过同样的问题,我花了差不多一整天的时间来弄清楚出了什么问题。我有一个多线程,但所有商店在我尝试的每个网址上都给出了404页面。最后解决方案是将MAGE_RUN_TYPE
从website
更改为store
。
答案 1 :(得分:0)
您拥有的index.php文件会覆盖MAGE_RUN_CODE
和MAGE_RUN_TYPE
变量,因为这些行:
$mageRunCode = 'mystore';
$mageRunType = 'website';
由于它们在初始定义后被调用,因此被重置为mystore
和website
。
尝试删除这些行,并查看变量是否已正确传递到Mage::run()
函数。
有关CHMODing至777的重要通知。
这是一个有潜在危险的事情,因为它可以允许公共访问您的文件系统。出于这个原因,您永远不想在生产站点上设置 777 权限集。
将文件夹设置为755,将文件设置为644 。为此,请打开一个shell连接并将cd
打开到Magento根目录。运行以下命令:
chmod -R 755 *; find -type f -print0|xargs -0 chmod 644
如果运行正确,Magento安装中的所有文件都将设置为正确的权限。
答案 2 :(得分:0)
添加:
$_SERVER['MAGE_RUN_CODE'] = $_SERVER['REDIRECT_MAGE_RUN_CODE'];
$_SERVER['MAGE_RUN_TYPE'] = $_SERVER['REDIRECT_MAGE_RUN_TYPE'];