所提交的网址带有不被接受的字符

时间:2008-12-08 01:52:13

标签: debugging zend-studio

我有一个代码点火器项目,我想尝试使用Zend Studio进行调试。当我开始调试时,我立即运行ino

“您提交的URI不允许使用字符。”

有没有人有任何想法?

3 个答案:

答案 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

http://kohanaphp.com/home

答案 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的任何内容。