我有一个代码点火器项目,我想尝试使用Zend Studio进行调试.当我开始调试时,我立即运行ino
"所提交的网址带有不被接受的字符."
有谁有想法吗?
(假设您使用的是最新版本的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
如果使用旧版本的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中