突然之间,我在 Laravel 8 的 Auth 中间件中的 /admin 路由返回了 404 not found
Posted
技术标签:
【中文标题】突然之间,我在 Laravel 8 的 Auth 中间件中的 /admin 路由返回了 404 not found【英文标题】:Out of a sudden my /admin route inside the Auth Middleware in Laravel 8 returns a 404 not found 【发布时间】:2021-02-07 06:06:09 【问题描述】:我最近开始在 Laravel 中编写自己的管理面板。 每条路由都运行良好,但突然间,Auth 中间件组内的 /admin 路由停止正常运行。
This are my routes inside web.php
My php artisan route:list
EntryController@index 看起来像这样:
public function index()
//
$entries = Entry::all();
return view('admin.index', ['entries' => $entries]);
我遇到这个问题大约有 2 年了,所以也许你们中的某个人知道解决方案。
【问题讨论】:
【参考方案1】:我认为您遇到这个问题是因为 Laravel 如何优先考虑其路线。
我认为罪魁祸首可能是这条路线:
Route::get('/link', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
当您使用link
时,您基本上是在说:“在这部分 URI 中期待任何内容”。由于/link
路由放在/admin
路由之前,并且它们的URI 都只包含一个段,Laravel 会先尝试解析/link
。
解决方案:只需将/link
路由移至/admin
路由下方即可。最好将其放在列表的底部:D
【讨论】:
嗯,这解释了很多。感谢您为我提供解决方案!以上是关于突然之间,我在 Laravel 8 的 Auth 中间件中的 /admin 路由返回了 404 not found的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - 如何在不同域之间使用 Auth::check 或 Auth::user?
laravel 8 - auth()->factory() 相同的 refresh() 和尝试() 在 JWT Auth Controller 中未定义
PHP 错误:类 'Illuminate/Foundation/Auth/Admin' [Laravel 8]
Auth::routes(['register' => false]);不能在 laravel 8 中工作