У меня есть несколько маршрутов на моем веб-сайте, которые используют настраиваемое решение для разбивки на страницы, например /categories/{category}/page/{page?}
. В настоящее время я каждый контроллер установлен, как следующее:Удаление части URL-адреса Laravel, если применяются определенные условия
public function index($category, $page = null) {
if(!isset($page) || !is_numeric($page) || $page < 1) {
return redirect()->route('parent', ['category' => $category]);
}
}
Это имеет желаемый эффект проверки, если предоставленный номер страницы существует, то, действительно, ряд, и если оно больше нуля. Если любое из этих условий ложно, оно перенаправляется на родительский маршрут, /categories/{category}
.
Проблема заключается в том, что для каждого из этих решений все они требуют от меня написать имя родительского маршрута для перенаправления. Если я хочу просто отключить /page/
и далее, , но сохраните переменные-переменные и переменные post, как бы я это сделал?
Я думаю, что вам лучше всего, чтобы создать еще один маршрут, как '/ категории/{категория}'. –
@noodles_ftw Я сделал это, так я и делаю это сейчас. Я просто задаюсь вопросом, есть ли способ перехватить маршруты до того, как они будут обработаны, и там проверите и измените, сохранив переменные get и post. – Forest