반응형
라라벨로 개발을 하다 보면 나는 분명 제대로 컨트롤러를 생성하고 라우팅 설정을 맞췄는데
404 에러가 발생해 벙찌게 된 적이 있을 것입니다,
원인은 라우팅 설정 파일 안에 있습니다. web.php
아래는 정상적으로 행동하고
...
Route::get('products/excel', [ProductController::class, 'excel'])->name('products.excel');
Route::get('/products', [ProductController::class, 'index'])->name('products.index');
Route::get('/products/create', [ProductController::class, 'create'])->name('products.create');
Route::post('/products/store', [ProductController::class, 'store'])->name('products.store');
Route::get('products/{product}',[ProductController::class, 'show'])->name("products.show");
Route::get('products/{product}/edit', [ProductController::class, 'edit'])->name("products.edit");
Route::patch('products/{product}', [ProductController::class, 'update'])->name('products.update');
Route::delete('products/{product}', [ProductController::class, 'destroy'])->name('products.destroy');
...
아래는 404로 행동합니다.
...
Route::get('/products', [ProductController::class, 'index'])->name('products.index');
Route::get('/products/create', [ProductController::class, 'create'])->name('products.create');
Route::post('/products/store', [ProductController::class, 'store'])->name('products.store');
Route::get('products/{product}',[ProductController::class, 'show'])->name("products.show");
Route::get('products/{product}/edit', [ProductController::class, 'edit'])->name("products.edit");
Route::patch('products/{product}', [ProductController::class, 'update'])->name('products.update');
Route::delete('products/{product}', [ProductController::class, 'destroy'])->name('products.destroy');
Route::get('products/excel', [ProductController::class, 'excel'])->name('products.excel');
...
차이점이 보이시나요?
답은 products/execel의 위치가 products/{product} 보다 위에 있다는 점입니다.
만약 아래 있었다면 products/excel이 아래 라우팅을 따르므로 있지도 않은 product를 찾으므로 404가 발생한 것입니다.
Route::get('products/{product}',[ProductController::class, 'show'])->name("products.show");
반응형
'PHP > Error' 카테고리의 다른 글
[Homestead] Timed out 에러 대처하기 (0) | 2022.09.27 |
---|---|
[Laravel] 419 error csrf 보호에서 특정 주소 무시하기 (1) | 2022.09.02 |
Laravel 502 Bad Gateway, route:list Allowed memory size error (0) | 2022.07.14 |
Vagrant 에러 : 한글 인코딩 에러 encode!: \xEC to UTF-8 (0) | 2021.01.02 |