Laravel 拉威尔路由-404

Laravel 拉威尔路由-404,laravel,routes,Laravel,Routes,我尝试了不同的路线,但我得到了404在显示,编辑,存储 Auth::routes(); Route::get('/', 'IndexController@index')->name('index')->middleware('user'); Route::get('/user/profile', 'HomeController@index')->name('user')->middleware('user'); Route::get('/{product}/show',

我尝试了不同的路线,但我得到了404在显示,编辑,存储

Auth::routes();

Route::get('/', 'IndexController@index')->name('index')->middleware('user');
Route::get('/user/profile', 'HomeController@index')->name('user')->middleware('user');
Route::get('/{product}/show', 'IndexController@show')->name('product')->middleware('user');

Route::prefix('cart')->group(function () {
    Route::get('/', 'IndexController@cart')->name('cart')->middleware('auth');
    Route::get('/{product}/add', 'IndexController@cartAdd')->name('cartAdd')->middleware('auth');
});

Route::prefix('dashboard')->group(function () {
    Route::get('', 'AdminController@index')->name('admin')->middleware('admin');
    Route::get('products', 'ProductController@index')->name('productIndex')->middleware('admin');
    Route::get('products/create', 'ProductController@create')->name('productCreate')->middleware('admin');
    Route::get('products/{product}', 'ProductController@show')->name('productShow')->middleware('admin');
    Route::put('products/{product}', 'ProductController@update')->name('productUpdate')->middleware('admin');
    
    Route::post('products', 'ProductController@store')->name('productStore')->middleware('admin');
    Route::get('products/{product}/edit', 'ProductController@edit')->name('productEdit')->middleware('admin');
    Route::post('products/{product}', 'ProductController@destroy')->name('productDestroy')->middleware('admin');
});

我试图通过重新安排来修复路线,但到目前为止没有任何运气

Route::get('/{product}/show', 'IndexController@show')->name('product')->middleware('user');
把这条路移到尽头。在没有任何前缀的路由中使用动态值并不是最好的方法。也许你可以在它前面加上一些静态的东西


在测试之前运行
php artisan optimize
,重新配置缓存和路由。

这似乎是因为此处的路由密钥名

   public function getRouteKeyName()
    {
        return 'prod_name';
    }

删除后,所有路由都会重新工作。

此外,cartadd和userprofile也会恢复,似乎我通过控制器对其进行了更改,从而将其修复。从产品$Product我改为$id以查找特定的项目,它可以工作。尝试移动它,但仍然使用404ProductController@show - ProductController@edit-及ProductController@store. 我尝试了php artisan Optimize,但它给出了另一个错误思想错误是什么?如果你不能缓存你的路由和缓存,那么它应该被修复。你是否为用户和管理员定义了中间件?如果不定义,请将所有中间件更改为
middleware('auth')无法为序列化准备路由[api/用户]。使用闭包。您还必须将它们的别名与Kernel.php中的关联类链接起来。关于错误,请删除路由中的逻辑并使用控制器。