【发布时间】:2013-09-10 17:07:38
【问题描述】:
大约一周前,我在一个新站点的测试环境中工作。我离开了一个小时,回来了,现在无法进入管理页面,因为在“http://magento.localhost.com/admin”中会导致 No Route 404。我是唯一可以访问它的人,它在任何意义上都不是实时的。我正在使用带有 Ubuntu 的 VBox 来托管环境。就可能的修复而言,到目前为止我已经尝试过……
确保将 core_store、core_store_group、core_website 和 customer_group 表 ID 设置为 0(如本文和许多其他文章中所述 - http://www.nude-webdesign.com/fix-for-magento-admin-error-404-page-not-found/)
使用 /app/code/core/Mage/Core/Controller/Varien/Front.php 方法 _isAdminFrontNameMatched 显示 adminPath(它是“admin”)
清除 var 文件夹,清空浏览器缓存。网站的缓存过去和现在都已关闭。
将 'index.php' 添加到 url 仍然会导致 404。
根据Magento Admin 404,文件“app/etc/use_cache.ser”对我来说不存在。
在发生这种情况的那天,我只是在玩弄一些我复制到我制作的模块的布局文件和主题的媒体查询(甚至在这个问题开始发生之前,所有这些都恢复到原来的状态) .
有人对这里出了什么问题有任何建议吗?发生这种情况的任何其他可能原因?
谢谢你。
编辑 2013 年 9 月 10 日下午 1:06: 为了响应 Alan Storm 检索 Standard.php 正在寻找的控制器名称的方法,我收到了许多“丢失”的控制器文件。但是,在下载 1.7.0.2 的新副本以查找这些文件后,它们都不存在于其中。这是我在 Standard.php 中 Alan 的 var_dump 建议的输出:
..."/public_html/app/code/core/Mage/Index/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Paygate/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Paypal/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Widget/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Oauth/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Authorizenet/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Bundle/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Centinel/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Compiler/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Connect/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Downloadable/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/ImportExport/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Api2/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/PageCache/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/XmlConnect/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/Adminhtml/controllers/Controller.php"
..."/public_html/app/code/community/Phoenix/Moneybookers/controllers/Controller.php"
..."/public_html/app/code/core/Mage/Captcha/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/CurrencySymbol/controllers/Adminhtml/Controller.php"
..."/public_html/app/code/core/Mage/CurrencySymbol/controllers/Adminhtml/IndexController.php"
在 2013 年 9 月 10 日下午 3:39 解决: 好的,虽然很直白,但已修复。我将 Alan Storm 的 var_dump 建议的输出表示为我在核心代码池的某处创建了一个错误(这不是我打算做的事情,而是使用默认代码)。不幸的是,为了准确学习,我将其全部替换为默认的核心代码池 1.7.0.2。这是在艾伦用我从未调查过的更多建议更新他的原始答案之前完成的。谢谢艾伦,你很热情。
【问题讨论】:
-
不,它没有。我正要补充一点,文件“app/etc/use_cache.ser”对我来说不存在。该查询不执行任何操作,因为所有这些列设置都已为“0”。
-
哪个 Magento 404 页面?有很多,每一个都有不同的原因alanstorm.com/magentos_many_404_pages
-
@AlanStorm,我得到了 No Route 404。
-
在 Magento 中不需要修改核心文件,而是用你自己的类扩展核心类。
标签: php magento http-status-code-404 admin