Laravel 8.61.0 登录后重定向失效返回404错误问题求助
问题根因
404错误是跳转目标路径与路由文件中注册的实际路径不匹配导致的。
问题细节
你在web.php中注册的用户面板路由如下,对应的可访问路径为http://127.0.0.1:8000/user/myprofile:
Route::get('user/myprofile','UserAuthController@UserDashboard');
但登录成功后的跳转代码写的是return redirect('UserDashboard');,会直接跳转到未注册的路径http://127.0.0.1:8000/UserDashboard,因此触发404。
修复方案(三选一即可)
- 方案1:直接修改跳转路径为已注册的路由
将LoginUser方法中的跳转代码替换为:return redirect('user/myprofile'); - 方案2:给路由设置别名,用别名跳转(更便于后续维护)
第一步修改web.php路由定义,追加别名:
第二步修改跳转代码,通过别名调用路由:Route::get('user/myprofile','UserAuthController@UserDashboard')->name('user.dashboard');return redirect()->route('user.dashboard'); - 方案3:如果需要保留
/UserDashboard作为访问路径,直接新增对应路由
在web.php中添加如下代码即可:Route::get('UserDashboard','UserAuthController@UserDashboard');
验证提示
修改完成后如果仍不生效,可先执行以下命令清除路由缓存再测试:
php artisan route:clear
也可以执行php artisan route:list查看所有已注册路由,确认目标路径存在。
内容的提问来源于stack exchange,提问作者SSarangi
相关产品推荐
相关产品推荐

