Laravel 11中如何将所有404错误重定向至指定路径?
Laravel 11 中将所有404请求重定向到指定页面
要实现所有未匹配的路由(即404请求)都重定向到example.com/not-found,可以通过Laravel的fallback路由结合自定义404页面路由来完成:
实现代码
- 定义fallback路由:这是Laravel处理所有未匹配路由的最后逻辑,将所有未找到的请求重定向到指定路径(注意该路由要放在所有其他路由的最后):
// routes/web.php // 定义fallback路由,将未匹配请求重定向至/not-found Route::fallback(function () { return redirect('not-found'); });
- 定义
/not-found路由:在这个路由中调用abort(404),确保返回正确的HTTP 404状态码(而非重定向后的200状态),也可替换为自定义404视图:
// routes/web.php // 定义/not-found路由,返回404状态 Route::get('not-found', function () { // 若有自定义404视图,可替换为 return view('errors.404'); abort(404); });
关键说明
fallback路由的位置必须在所有其他路由之后,Laravel会优先匹配已定义的路由,最后才触发fallback逻辑。- 使用
abort(404)是为了保证HTTP状态码正确,避免搜索引擎将/not-found页面判定为正常页面(200状态),影响SEO表现。
内容的提问来源于stack exchange,提问作者user20817013
相关产品推荐
相关产品推荐

