#php #laravel #laravel-routing #laravel-8
#php #laravel #laravel-routing #laravel-8
Вопрос:
Недавно я начал кодировать свою собственную панель администратора в Laravel. Каждый маршрут работал нормально, но внезапно маршрут /admin внутри группы промежуточного программного обеспечения Auth перестал работать должным образом.
Это мои маршруты внутри web.php
Мой маршрут php artisan: список
И EntryController@index выглядит следующим образом:
public function index()
{
//
$entries = Entry::all();
return view('admin.index', ['entries' => $entries]);
}
У меня эта проблема уже около 2 лет, так что, возможно, кто-то из вас знает решение.
Ответ №1:
Я думаю, у вас возникла эта проблема из-за того, как Laravel расставляет приоритеты в своих маршрутах.
И я думаю, что виновником может быть этот маршрут:
Route::get('/{link}', [AppHttpControllersHomeController::class, 'index'])->name('home');
Когда вы используете {link}
, вы в основном говорите: «ожидайте чего угодно в этом сегменте URI». Поскольку /{link}
маршрут помещается перед /admin
маршрутом, а их URI содержат только один сегмент, Laravel попытается разрешить /{link}
его первым.
Решение: просто переместите /{link}
маршрут ниже /admin
маршрута. Может быть, лучше просто поместить его в конец списка: D
Комментарии:
1. Что ж, это многое объясняет. Спасибо, что предоставили мне решение!