无法更改Magento基本URL,卡在缓存中

时间:2012-01-20 11:06:41

标签: magento

我刚刚在开发域中安装了一个实时网站。我更改了core_config_data中的web/unsecure/base_urlweb/secure/base_url字段,但我不小心拼错了新域名。然后我加载了网站并发现了我的错误。我已经纠正了拼写,但它似乎缓存了错误的域名。我已经尝试重新导入数据库并更改网址,我已经删除了缓存目录中的所有内容,但仍然是js和css文件在管理员后端的每个链接中使用了错误的域。管理员后端也指向错误的域名。

有什么建议吗?这是一个旧的Magento 1.3安装。

5 个答案:

答案 0 :(得分:12)

如果您对var/文件夹没有适当的权限,Magento可以将其缓存信息写入系统 /tmp文件夹。

这可能会导致您更改Magento数据库中的基本URL,清除缓存(手动删除var/cache中的所有mage-??文件夹),(如果您是清除APC缓存)运行操作码缓存),(手动禁用编译器(1.4.xx及更高版本)),系统仍然查找原始站点。

拥有自己服务器的大多数人发现该网站在修复,清除和重置权限然后重新启动服务器后神奇地开始工作。服务器重启清除Magento缓存文件的/tmp,Magento最终开始查看自己的配置,以找到它所在的位置。

此操作的屏幕截图...

/tmp ...

中找到的Magento目录

The Magento directory found in /tmp

并且Cache存在于该目录中。注意路径 - > /tmp/magento/var/cache

Magento Cache subdirectories...

要查找错放的缓存目录,如果可以安装n98-magerun,请使用命令n98-magerun.phar sys:info获取基本系统信息列表,其中一个项目为Cache Directory位置。

答案 1 :(得分:3)

如果您更改基本网址,则更改内容时始终rm -rf var/cache/*,然后重新生成所有索引

答案 2 :(得分:3)

当您将Magento安装移动或更改为新域名时,您需要确保四件事:

1)替换服务器上任何文件中的旧域的任何实例。这可以通过以下方式在某些(如果不是全部)* nix上完成:

 find ./ -type f -exec sed -i ‘s/olddomain/newdomain/’ {} \;

2)删除var / cache和var / session文件。

3)更新数据库中的web / unsecure / base_url和web / secure / base_url。 (以及您域名的任何其他实例 - 通常不会更多)

4)但最终文件夹需要775的权限,文件的权限至少为664.这可以使用以下* nix命令完成:(注意:var文件夹和sub可能需要更高的权限)

 find . -type d -exec chmod 775 {} ;
 find . -type f -exec chmod 664 {} ;

我如何发现这一点的历史。不得不将Magento网站从一台服务器移动到另一台服务器。这是为了测试以确保一切都能正常传输。花了一个小时来大量导入数据库(~3,970,000行 - 我见过的任何CMS最大的数据库,我已经创建/修改了家庭酿造和其他常见的CMS),当我想要的时候我被留下了www.domain.com developer.domain.com。

答案 3 :(得分:1)

这可能会导致您更改Magento数据库中的基本URL,清除缓存(手动删除var / cache中所有mage文件夹),(如果您正在运行,则清除APC缓存)操作码缓存),(手动禁用编译器(1.4.xx及更高版本)),系统仍然会查找原始站点。%

答案 4 :(得分:0)

检查你的config.xml - 它可能有实时站点数据库配置。

对于Magento,路径是/app/etc/config.xml但我不确定你的版本是否相同。