Laravel Routing - 404



我尝试了不同的路线,但在显示、编辑和存储中我得到了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';
}

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

最新更新