我在本地VM中有一个针对magento的测试环境。它是生产代码和数据库的副本。为了实现这一点,我做了以下操作:
- 在mysql转储中,我将所有域的www.website.com替换为test.website.com
- 我在虚拟机和本地机器上更改主机文件,以将流量引导到测试域的虚拟机
- 在index.php中,有一个针对测试子域更新的不同存储代码的条件
这适用于旧备份。当我备份一个新的生产数据库并替换子域时,我可以恢复该数据库,这就可以了。当我更新代码时,就会出现问题。我打开test.website.com页面,在某个时刻,它给出了一个302代码,并重定向到生产网站www.website.com。
虚拟机是UbuntuDesktop,所以它有自己的浏览器,我可以更改主机文件以保持www流量在本地。然而,我更喜欢使用测试域。
我想知道如何找到重定向发生的位置。在某个时刻,它会调用mage::run,然后我就迷路了。我可以在哪里查找以及如何找到此重定向?
我的基本Magento 1.7.0.2站点副本:
- 通过sql复制数据库
- 在表"core_config_data"中,编辑web/secure/base_url和web/unseure/base_url
- 复制站点文件
- 在app/etc/local.xml
<dbname><![CDATA[your_db_name]]></dbname>
中编辑数据库值 - 清理缓存var/cache/*有时var/locks/*var/session/*
- 始终检查
在app/local/config.xml(或附近,对不起,我想已经有一段时间了)或admin->配置部分中有一个设置,您可以提供基本URL,检查这些设置是否仍设置为旧值
我也遇到了同样的问题。当然,你必须使用丹描述的步骤。但这对我没有帮助。我找到的解决方案是更改为apc(Alternative PHP Cache)设置(在/app/etc/local.xml中):
<cache>
<backend>apc</backend>
<prefix>other_prefix_then_production_</prefix>
</cache>
如果Dan描述的步骤都不起作用,请尝试删除/tmp/magento/var/cache/文件夹的内容并重新启动服务器。
rm -rf /tmp/magento/var/cache/*