You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9.26出现RouteNotFoundException:Route [logout]未定义求助

Laravel 9.26 Route [logout] 未定义问题解决

问题根源分析

  1. 路由名称不匹配:视图中调用了route('logout'),但路由文件里定义的退出路由名称是actionlogout,两者不一致导致报错。
  2. 重复路由覆盖:定义了两个Route::get('/'),后定义的首页路由会覆盖前一个登录路由,导致登录页面无法正常访问。
  3. 访问路径错误:访问localhost/8k/login,但登录路由的路径是/,并非/login,路径不匹配。

解决方案

1. 统一路由名称

选择以下两种方式之一:

  • 方式一:修改视图中的调用,将所有route('logout')替换为route('actionlogout')
  • 方式二:修改路由定义,将退出路由的名称改为logout:
Route::get('actionlogout', [LoginController::class, 'actionlogout'])
    ->name('logout')->middleware('auth');

2. 修复重复路由

将首页路由的路径改为/home,避免覆盖登录路由:

// 登录页面路由
Route::get('/', [LoginController::class, 'login'])
    ->name('login');

// 首页路由
Route::get('/home', [HomeController::class, 'index'])
    ->name('home')->middleware('auth');

3. 修正访问路径

  • 登录页面访问路径:localhost/8k/
  • 首页访问路径:localhost/8k/home

4. (可选)优化退出路由安全性

建议将退出路由改为POST方法,防止GET请求误触发:

Route::post('logout', [LoginController::class, 'actionlogout'])
    ->name('logout')->middleware('auth');

同时在视图中用表单提交退出请求(需包含CSRF令牌):

<form action="{{ route('logout') }}" method="POST">
    @csrf
    <button type="submit">退出登录</button>
</form>

内容的提问来源于stack exchange,提问作者Rosse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:27:23