Laravel 为现有路线抛出 404

Laravel throwing 404 for an existing route

谁能帮我理解这些路线有什么问题:-

从这些路由列表中,第三个和最后一个returns 404。控制器没有问题。当我 运行 php artisan route:list.

时,它们会按预期显示
Route::get('/uploads', 'ImageController@adminIndex')->name('admin.images.index');
Route::get('/uploads/{image}', 'ImageController@adminShow')->name('admin.image.indivisual');
Route::get('/uploads/request', 'ImageController@imageRequests')->name('admin.images.request');
Route::get('/uploads/request/{image}', 'ImageController@individualRequest')->name('admin.images.request.individual');
Route::post('/uploads/accept', 'ImageController@acceptImage')->name('admin.accept.image');
Route::post('/uploads/decline/', 'ImageController@declineImage')->name('admin.decline.image');
Route::get('/uploads/all', 'ImageController@index')->name('admin.images.list');

让我感到困惑的是,将这两条路线的 uploads 更改为 images 解决了问题并且它们工作得很好。

Route::get('/uploads', 'ImageController@adminIndex')->name('admin.images.index');
Route::get('/uploads/{image}', 'ImageController@adminShow')->name('admin.image.indivisual');
Route::get('/images/request', 'ImageController@imageRequests')->name('admin.images.request');
Route::get('/uploads/request/{image}', 'ImageController@individualRequest')->name('admin.images.request.individual');
Route::post('/uploads/accept', 'ImageController@acceptImage')->name('admin.accept.image');
Route::post('/uploads/decline/', 'ImageController@declineImage')->name('admin.decline.image');
Route::get('/images/all', 'ImageController@index')->name('admin.images.list');

我试过了php artisan route:clear

此外,public 目录中没有文件夹会产生任何冲突。

注意:所有路线都分组在

Route::group(['prefix' => 'admin', 'middleware' => 'role:administrator|auth'], function () {
  // Other routes in this group are working just fine. No issues.
});

感谢帮助。

请将路由器移到列表的最后:

Route::get('/uploads/{image}', 'ImageController@adminShow')->name('admin.image.indivisual');

因为它包含 Route::get('/uploads/request'Route::get('/uploads/all' 然后它会覆盖这两个路由器

所以路由器列表代码:

Route::get('/uploads', 'ImageController@adminIndex')->name('admin.images.index');
Route::get('/uploads/request', 'ImageController@imageRequests')->name('admin.images.request');
Route::get('/uploads/request/{image}', 'ImageController@individualRequest')->name('admin.images.request.individual');
Route::post('/uploads/accept', 'ImageController@acceptImage')->name('admin.accept.image');
Route::post('/uploads/decline/', 'ImageController@declineImage')->name('admin.decline.image');
Route::get('/uploads/all', 'ImageController@index')->name('admin.images.list');
// move to last 
Route::get('/uploads/{image}', 'ImageController@adminShow')->name('admin.image.indivisual');