baiyuxiong 发表于 2010-4-15 00:00:31

The URI you submitted has disallowed characters.

同样的代码,同样的数据库,我在服务器上使用没有任何问题。下载到本地后除了首页以外的其它页面,都会提示:The URI you submitted has disallowed characters.
但是我的URI确实没问题,像这样:http://localhost/arc/show/learn

哪位知道这是什么原因吗?

hk_yuhe 发表于 2010-4-15 00:36:39

有没有可能是你本地文件的编码问题?因为gbk和utf-8在很多情况下看起来并没有什么区别~~猜测而已,仅供参考

Hex 发表于 2010-4-15 10:26:47

明显是环境问题。
建议用 XAMPP。

baiyuxiong 发表于 2010-4-15 16:27:18

回复 3# Hex


   我用的就是xampp。看来我重装一下xampp算了。谢谢~~

baiyuxiong 发表于 2010-4-15 23:05:53

我无语啊,xampp完全 卸了重装还是不行。

phperbar 发表于 2010-11-30 09:51:55

我也出现这种问题啊,郁闷中。。。

仏咪 发表于 2011-7-13 00:43:51

本地跑的话,url参数中有中文放在ie中运行会有问题,lz试试google浏览器。
解决办法:urldecode($this->uri->segment ( × ))

khalilfiona 发表于 2013-8-12 12:18:34

我的url里没有任何非法参数也会报这个错,下面的解决方法非常有用,
CodeIgniter的URL传过来的汉字参数中文参数有错误的处理。会显示The URI you submitted has disallowed characters.

一般网上的办法是替换_filter_uri函数,但是试过,不知道为什么CodeIgniter没重载这个函数。

那这样只能修改源代码了。看别人是用urlencode做的。感觉这样做,很别扭。

阅读了一下CodeIgniter的代码,发现它是用preg_quote把permitted_uri_chars做了预处理,然后再进行正则匹配。这有点自作聪明了,还不如直接就把这一下作为一个完整的正则语句来的方便。

既然要动原代码,那就改的彻底点!做如下修改:

config.php改为:$config['permitted_uri_chars'] = ‘|^+$|iu’;

URI.php改为:if ( ! preg_match($this->config->item(‘permitted_uri_chars’), $str))
转自:http://www.wintop.org/216/codeigniter%E7%9A%84url%E4%BC%A0%E8%BF%87%E6%9D%A5%E7%9A%84%E6%B1%89%E5%AD%97%E5%8F%82%E6%95%B0%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0%E5%A4%84%E7%90%86%E9%94%99%E8%AF%AF%E7%9A%84%E4%BF%AE%E5%A4%8D.html
页: [1]
查看完整版本: The URI you submitted has disallowed characters.