У меня самая странная проблема с codeigniter. У меня есть сайт, который имеет функцию поиска, которая отображает запрос человека в URL, чтобы они могли сохранить URL. Я проверяю, что текст запроса прошел через rawurlencode, прежде чем вставить его в URL. Тем не менее, Codeigniter по-прежнему выводит меня на страницу ошибки, когда в запросе есть символ, которого нет в моей конфигурации allow_uri_characters.
Поэтому, хотя мой браузер говорит / search-results / query /% 22samplequery% 22, я все еще получаю сообщение об ошибке при использовании недопустимых символов.
Это ошибка? В моем URL нет недопустимых символов. У меня есть знак% и некоторые цифры (которые все специально разрешены). Это определенно параметр allow_uri_characters, который приносит мне горе. Если я добавлю кавычку, он разрешит% 22 без проблем.
И чтобы быть ясным, запрос приходит из формы как данные поста, затем кодируется в моем контроллере и затем перенаправляется на новую страницу. Нельзя каким-либо образом применять allow_uri_characters ДО того, как он будет закодирован.
Это сводит меня с ума, так как мое единственное решение на данный момент - открыть мои allow_uri_charcters всему под солнцем, что не очень безопасно!