Представленный вами URI имеет запрещенные символы

У меня есть проект воспламенителя кода, и я хотел попробовать отладить его с помощью Zend Studio. Когда я начинаю отладку, я сразу запускаю ino

"В URI, который вы отправили, были запрещены символы.

Есть ли у кого-нибудь идеи?

Ответ 1

(Предполагая, что вы используете последнюю версию CodeIgniter (CI), которая равна 1.7.0)

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

В системе /config/config.php в строке 126 есть

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

Комментарий выше этой строки в значительной степени объясняет все это, и какое значение дозорного значения используется для переустановки этого фильтра и разрешения всех символов (т.е. полностью отключить фильтрацию).

На стороне примечания я обнаружил, что CI слишком ограничительный (для одного он не разрешает запросы GET и не хочет, чтобы все взаимодействия происходили через POST. Я считаю это абсолютно сумасшедшим и сродни тому, что бросает ребенка с ванной Очевидно, что я не единственный, кто считает, что CI чрезмерно ограничительный, проект Kohana является развитой оптимизацией CI +, а именно чистой поддержкой php5 (все OO), (CI по-прежнему совместим с PHP4 за счет отсутствия способный использовать возможности PHP5 OO).

Я предпочитаю Кохану над CI, YMMV

http://kohanaphp.com/home

Ответ 2

Если вы используете старую версию CodeIgniter и PHP 5.4, вам нужно изменить

if ( ! preg_match("|^[" . preg_quote($this->config->item('permitted_uri_chars')) . "]+$|i", $str)) {

в

if (FALSE === preg_match("|^[" . preg_quote($this->config->item('permitted_uri_chars')) . "]+$|i", $str)) {

в/system/libraries/URI.php

Ответ 3

в Expression engine вы найдете это в /admin/expressionengine/config/config.php

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\\-';

измените на

$config['permitted_uri_chars'] = ''; 

но прочитайте комментарий линии, прежде чем делать это.

Или не используйте ничего на основе CI.