退出登录时出现Error 404 Not Found问题求助
解决Laravel登出表单404错误的方案
问题根源
- 缺失Logout路由:你的
web.php中未定义/logout对应的路由,导致请求该路径时返回404。 - 表单属性错误:表单代码存在重复的
action属性,且未指定正确的请求方法(Laravel登出操作需要用POST请求)。
修复步骤
1. 添加Logout路由
在web.php中添加POST类型的路由,指向你的控制器的logout方法(替换YourController为实际的控制器类名,比如AuthController):
Route::post('/logout', [YourController::class, 'logout']);
2. 修正表单代码
移除重复的action属性,指定正确的请求方法POST:
<form method="POST" action="/logout"> @csrf <button class="dropdown-item" type="submit"> <i class="bi bi-box-arrow-right"></i> Logout </button> </form>
3. 可选:清除路由缓存
如果修改路由后问题仍存在,执行以下命令清除路由缓存:
php artisan route:clear
补充说明
Laravel中,涉及用户状态修改的操作(如登出、删除数据)应使用POST请求,避免GET请求带来的安全风险,同时也符合框架的CSRF保护机制要求。
内容的提问来源于stack exchange,提问作者devcode
相关产品推荐
相关产品推荐

