В ранних версиях был баг не пропускающий символ процента в адрес. для шифровки очень надо. но не работает. решение тут. Но это о старом, хотя не мешает почитать, чтобы вникнуть в суть.
Я пользуюсь версией 1.6.2. Возникла такая же проблема. Не пускает rawurlencode адрес. Нашел тот багрепорт. но нужной строки в файле не нашел. Теперь эта строка, а следовательно и решение проблемы лежит в
/* Location: ./system/libraries/URI.php */
на 189 строке решение такое же $str занести в функцию rawurlencode
было
189 if (! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
стало
189 if (! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", rawurlencode($str)))
UPD. взглянул на CI 1.6.3 — те же грабли.
Я пользуюсь версией 1.6.2. Возникла такая же проблема. Не пускает rawurlencode адрес. Нашел тот багрепорт. но нужной строки в файле не нашел. Теперь эта строка, а следовательно и решение проблемы лежит в
/* Location: ./system/libraries/URI.php */
на 189 строке решение такое же $str занести в функцию rawurlencode
было
189 if (! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
стало
189 if (! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", rawurlencode($str)))
UPD. взглянул на CI 1.6.3 — те же грабли.