Конфликты маршрутов в codeigniter 3

Мои определенные маршруты

$route['search/results/(:any)'] = 'search/results/$1';
$route['search/(:any)'] = 'search/index/$1';

Всякий раз, когда я пытаюсь получить доступ к первому маршруту, он всегда перенаправляется на метод индекса? Я также попытался заменить позицию индексных маршрутов. Вот как я вызываю маршрут результатов из URL-адреса

http: // localhost: 8888 / revam / search / results /? type = books.

Любая помощь будет принята с благодарностью.

Вещи после вопросительного знака будут анализироваться как параметры запроса, а не как часть маршрута.

puddi 15.11.2018 12:42

Да, вы правы, есть ли способ справиться с такими маршрутами? @puddi

Khirad Banu 15.11.2018 12:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
60
2

Ответы 2

Здесь после вопросительного знака type = books анализируется как параметры запроса, а не как маршрут, что ведет к методу index.

Один из способов справиться с этим - обновить свой маршрут чем-то вроде этого.

$route['search/results?(:any)'] = 'search/results/$1';
$route['search/(:any)'] = 'search/index/$1';

Надеюсь это поможет.

Существует также более простой способ решить эту проблему, поскольку вы не вызываете URL-адрес, используя сегменты URL-адреса после / search / results /, вы можете создавать свои маршруты следующим образом:

$route['search/results'] = 'search/results/$1';
$route['search/(:any)'] = 'search/index/$1';

Другие вопросы по теме