Magento管理员登录页面中的"找不到错误404"

Muk*_*ain 61 php magento

我刚刚将我的magento安装从一台本地机器服务器转移到另一台机器服务器.现在,我无法登录管理面板.当我转到管理员登录URL时,我收到以下错误消息: -

"未找到错误404"

我的某些模块页面也显示此错误.

任何人都可以找出问题吗?

Muk*_*ain 147

最后,我找到了解决问题的方法.

我查看了Magento系统日志文件(var/log/system.log).在那里,我看到了确切的错误.

错误如下: -

可恢复的错误:传递给Mage_Core_Model_Store :: setWebsite()的参数1必须是Mage_Core_Model_Website的一个实例,给出null,在555行的YOUR_PATH\app\code\core\Mage\Core\Model\App.php中调用,并在YOUR_PATH中定义第285行的app\code\core\Mage\Core\Model\Store.php

可恢复的错误:传递给Mage_Core_Model_Store_Group :: setWebsite()的参数1必须是Mage_Core_Model_Website的一个实例,给定null,在第575行的YOUR_PATH\app\code\core\Mage\Core\Model\App.php中调用,并在YOUR_PATH中定义第227行的app\code\core\Mage\Core\Model\Store\Group.php

实际上,我之前有过这个错误.但是,错误显示消息Error: 404 Not Found对我来说是新的.

这样做的原因错误是,store_idwebsite_id为管理员应设置为0(零).但是,当您将数据库导入新服务器时,这些值不会设置为0.

打开PhpMyAdmin并在您的数据库中运行以下查询: -

SET FOREIGN_KEY_CHECKS=0;
UPDATE `core_store` SET store_id = 0 WHERE code='admin';
UPDATE `core_store_group` SET group_id = 0 WHERE name='Default';
UPDATE `core_website` SET website_id = 0 WHERE code='admin';
UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';
SET FOREIGN_KEY_CHECKS=1;
Run Code Online (Sandbox Code Playgroud)

我在这里写过关于这个问题和解决方案: -

Magento:管理员登录页面中"错误:404未找到"的解决方案

  • 当您使用Magento的备份工具时,它会将此行添加到sql输出:/*!40101 SET @OLD_SQL_MODE = @@ SQL_MODE,SQL_MODE ='NO_AUTO_VALUE_ON_ZERO'*/; 当您使用导出数据库的任何其他方法导致mysql在1时真正应该使用0作为ID时开始导入时,这可能会丢失. (10认同)
  • _但是,当您将数据库导入新服务器时,这些值不会设置为0._.这不是真的我已经多次移动magento并且这些值从未改变过. (3认同)