Magento unsecure_base_url随机重置为默认值

时间:2014-07-25 15:38:28

标签: magento default reset base-url

我已经在Magento网站上工作了几个月了。大约两周前,该网站似乎突然破了。所有的CSS都消失了,我无法登录管理员(也缺少其样式)。

我可以通过我的主机控制面板访问数据库&发现unsecure_base_url和secure_base_url都被更改了。我把它们设置为:

mysubdir.mysite.com /

但是现在他们有/ magento就像这样:

mysubdir.mysite.com/magento /

这是安装时的默认值。但是由于整个站点都是magento,所以当我启动项目时,我把它从这个目录中取出并将其移到了web根目录中。

我手动更改了数据库中的值以及我的管理员密码,这也是无效的。大约一个星期后,同样的事情又发生了。然后几天后,又发生了一次。然后它在第二天再次发生,并在我修复后的同一天再次发生。

与此同时,我一直在搜索服务器,寻找可能正在运行的任何会改变这些值的脚本。我还没找到任何东西。我查看了每个文件的日期与此时间相匹配的文件。与我的主人核实他们是合法的文件。

我也一直在查看magento代码,查找" core_config_data"的每个实例。看看我是否能找到任何设定该值的代码,但我还没有找到任何东西。

我正在使用社区版。是否有一些代码在试用期后重置基本网址?我已经搜索过,但无法找到遇到此问题的其他人。

我确实找到了一些包含mysubdir.mysite.com/magento/的magento缓存文件。它是否会恢复到缓存的值?我刷新了magento缓存和缓存存储。目前,网站上实际上已禁用缓存,因为它仍在开发中但之前已启用。

提前感谢任何帮助,线索或建议。

1 个答案:

答案 0 :(得分:0)

如果通过某种观察者或Magento配置的cron以编程方式设置,这是最可能的语法:

$config->saveConfig('web/unsecure/base_url', 'http://www.example.com/', 'default');
$config->saveConfig('web/secure/base_url', 'https://www.example.com/', 'default');

知道这一点,我会搜索这个字符串:

grep -Ri "saveConfig('web/secure/base_url" .
grep -Ri "saveConfig('web/unsecure/base_url" .

我从应用程序/代码开始,如果没有任何结果,我会在Magento根目录中查看grep。

至少如果没有别的话,至少会排除它。