我有一个代码点火器项目,我想尝试使用Zend Studio进行调试。当我开始调试时,我立即运行ino
“您提交的URI不允许使用字符。”
有没有人有任何想法?
答案 0 :(得分:26)
(假设您使用的是最新版本的CodeIgniter(CI),即1.7.0)
CI对于URL中允许的字符非常严格。您可以修改用于过滤URL的正则表达式。
第126行的system / config / config.php是
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
此行上方的注释几乎解释了这一切,以及用于覆盖此过滤器并允许所有字符(即完全关闭过滤)的标记值。
另一方面,我发现CI过于严格(因为它不允许GET请求,并希望所有互动都通过POST发生。我发现这绝对是疯了,类似于把婴儿扔出去洗澡显然,我不是唯一一个认为CI过于严格的人,Kohana项目是CI +优化的一个分支,即纯php5支持(所有OO),(CI仍然是PHP4兼容而不是能够利用PHP5 OO功能。)
我更喜欢Kohana而不是CI,YMMV
答案 1 :(得分:6)
如果使用旧版本的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
答案 2 :(得分:2)
在Expression引擎中你会在/admin/expressionengine/config/config.php中找到它
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\\-';
更改为
$config['permitted_uri_chars'] = '';
但请在执行此操作之前阅读行注释。
或者不要使用基于CI的任何内容。