Кроме того, если я также перенесу поврежденный маршрут поверх других маршрутов внутри группы префиксов, это сработает.< /p>
Я также попробовал команду php artisan Route:clear, но ничего не изменилось.
Вместо этого с помощью команды php artisan Route:list маршруты указаны правильно (список маршрутов).
Этот не работает:
Код: Выделить всё
Route::prefix('giveaway')->name('giveaway.')->group(function () {
Route::get('/{id}', [GiveawayController::class, 'show'])->name('show');
Route::post('/store/{id}', [GiveawayController::class, 'store'])->name('store');
Route::get('/thank-you', [GiveawayController::class, 'thankYou'])->name('thankYou');
Route::get('/terms-and-conditions/{id}', [GiveawayController::class, 'privacyAndTerms'])->name('termsAndConditions');
Route::get('/privacy-policy/{id}', [GiveawayController::class, 'privacyAndTerms'])->name('privacyPolicy');
Route::get('/history', [GiveawayController::class, 'index'])->name('history');
});
Код: Выделить всё
Route::prefix('giveaway')->name('giveaway.')->group(function () {
Route::get('/history', [GiveawayController::class, 'index'])->name('history'); //Changed position
Route::get('/{id}', [GiveawayController::class, 'show'])->name('show');
Route::post('/store/{id}', [GiveawayController::class, 'store'])->name('store');
Route::get('/thank-you', [GiveawayController::class, 'thankYou'])->name('thankYou');
Route::get('/terms-and-conditions/{id}', [GiveawayController::class, 'privacyAndTerms'])->name('termsAndConditions');
Route::get('/privacy-policy/{id}', [GiveawayController::class, 'privacyAndTerms'])->name('privacyPolicy');
});
Код: Выделить всё
Route::prefix('giveaway')->name('giveaway.')->group(function () {
Route::get('/{id}', [GiveawayController::class, 'show'])->name('show');
Route::post('/store/{id}', [GiveawayController::class, 'store'])->name('store');
Route::get('/thank-you', [GiveawayController::class, 'thankYou'])->name('thankYou');
Route::get('/terms-and-conditions/{id}', [GiveawayController::class, 'privacyAndTerms'])->name('termsAndConditions');
Route::get('/privacy-policy/{id}', [GiveawayController::class, 'privacyAndTerms'])->name('privacyPolicy');
});
Route::get('/history', [GiveawayController::class, 'index'])->name('history'); //Outside the route group
Я хотел бы выяснить, почему это происходит такая странная вещь.
Если поможет, я использую Apache в качестве HTTP-сервера, и это мой .htaccess:
Код: Выделить всё
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php82” package as the default “PHP” programming language.
AddHandler application/x-httpd-ea-php82 .php .php8 .phtml
# php -- END cPanel-generated handler, do not edit
РЕШЕНИЕ:
1. Переместить маршрут на последний в этом префиксе;
2. Добавьте ограничение с выражениями регулярных выражений на маршрут для параметра с помощью ->where();
Подробнее здесь: https://stackoverflow.com/questions/790 ... -404-error
Мобильная версия