Система маршрутизации CodeIgniter преобразует ваш URL, чтобы определить контроллер, действие и параметры в качестве ключей / значений.Он проверяет, имеет ли значение ключа разрешенные символы, и вы можете настроить его с помощью $config['permitted_uri_chars']
, но полученное сообщение об ошибке касается самого ключа, а не его значения.$config['permitted_uri_chars']
не поможет вам разрешить символ @ в этом случае.Вы найдете функцию function _clean_input_keys($str)
, которая проверяет ключи в system / core / input.php.Символ% недопустим, поэтому «% 40» не пройдет:
if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
Единственный способ обойти это в вашем случае - избежать использования этого символа (возможно, его перевода) в ключевых параметрах.