Laravel项目加载出现404错误:旧页面替代默认页面问题求助
Laravel 项目显示旧404页面而非默认页面的原因及修复方法
可能的原因
- 存在自定义404视图文件:Laravel会优先加载
resources/views/errors/404.blade.php,如果第二个项目中存在这个自定义文件,会直接覆盖框架默认页面。大概率是你复制旧项目文件、手动创建过该视图,或者引入的第三方代码生成了这个文件。 - 缓存未清理:如果之前执行过
php artisan view:cache或php artisan config:cache,缓存的视图/配置可能保留了旧404页面的关联规则,导致默认页面无法加载。 - 错误处理逻辑被修改:在
app/Exceptions/Handler.php中,可能添加了针对404错误的自定义响应代码,强制指向旧页面路径。
修复方法
删除自定义404视图
进入项目的resources/views/errors目录,若存在404.blade.php文件,直接删除即可。Laravel会自动 fallback 到框架默认的404页面。清除缓存
执行以下命令清理视图和配置缓存:php artisan view:clear php artisan config:clear恢复默认错误处理逻辑
打开app/Exceptions/Handler.php,检查render或register方法中是否存在类似以下的自定义代码:public function render($request, Throwable $exception) { if ($exception instanceof NotFoundHttpException) { return response()->view('errors.old_404', [], 404); } return parent::render($request, $exception); }若有,删除这段自定义404处理代码,保留
return parent::render($request, $exception)即可恢复默认逻辑。验证效果
访问一个不存在的路由,确认页面是否恢复为Laravel自带的默认404页面。
内容的提问来源于stack exchange,提问作者Ashish Dake
相关产品推荐
相关产品推荐

