Проблема с маршрутами Codeigniter, включающими запрос - PullRequest
0 голосов
/ 28 ноября 2009

У меня небольшие проблемы с маршрутом CodeIgniter, когда в URI есть запрос (что-то после?). Я знаю, что хорошей практикой является замена запросов на маршруты в CI, но я импортирую в готовую доску объявлений, которая уже делает все с запросами. Это мой маршрут:

$ route ['messageboard /: any'] = "messageboard / index";

Любое в этом случае относится к имени скрипта. Так что, если это messageboard / admin.php, я загружаю представление, которое загружает скрипт моей предварительно созданной доски объявлений "admin.php". Это работает нормально, если я делаю messageboard / admin.php. Это нормально, если я делаю messageboard / admin.php ?. Однако, если я добавлю параметр в запрос, маршрут не будет правильно отправлять пользователя на контроллер доски сообщений, а вместо этого отправит их на 404. У кого-нибудь есть идеи, как заставить это работать? Буду вечно благодарен. Спасибо!

Ответы [ 3 ]

1 голос
/ 28 ноября 2009

Хорошо, ребята, я решил это. Мне нужно было изменить три вещи. Первым было предложение mtvee, которое позволяет ему читать строки запроса. Второе, что вы захотите изменить $ config ['allow_uri_chars'] в файле конфигурации, чтобы включить знак равенства, так как он сначала отключен, и все строки запроса будут иметь значение?? = 34 или что-то вроде тот. В-третьих, вам нужно перейти к $ config ['uri_protocol'] и изменить его с AUTO на PATH_INFO. Как только я это сделал, это сработало.

0 голосов
/ 28 ноября 2009

Я уверен, что синтаксис:

$route['messageboard/(:any)'] = "messageboard/index"; //<-- notice brackets

а не

$route['messageboard/:any'] = "messageboard/index";
0 голосов
/ 28 ноября 2009

Я считаю, что CI не делает GET из коробки. Проверьте включение строк запроса здесь http://ellislab.com/codeigniter/user-guide/general/urls.html

...