用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6693|回复: 7
收起左侧

[HELP] CI框架访问时出现An Error Was Encountered

[复制链接]
发表于 2015-8-4 16:40:13 | 显示全部楼层 |阅读模式
本人所用CI框架做项目,访问时出现An Error Was Encountered

The URI you submitted has disallowed characters.

我百度了很多方法,普遍改

在config/config.php文件中,找到

    复制代码代码如下:
    $config['permitted_uri_chars'] = 'a-z 0-9~%.:_/-i';
    在里面添加允许的字符。如我需要添加@符号,则可以这样:
    复制代码代码如下:
    $config['permitted_uri_chars'] = 'a-z 0-9~%.:_/-i@ ';

,这个方法我试过了,但是不起作用,大神们有什么有效的方法吗


发表于 2015-8-4 16:41:43 | 显示全部楼层
CI框架的一个逻辑错误:
发表于 2015-8-4 16:42:53 | 显示全部楼层
CI框架的一个逻辑错误:
system/core/Route.php文件里的_set_routing()函数:
将下面这段代码,挪到函数的最开始位置即可:
// Load the routes.php file.
                if (file_exists(APPPATH.'config/routes.php'))
                {
                        include(APPPATH.'config/routes.php');
                }

                if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/routes.php'))
                {
                        include(APPPATH.'config/'.ENVIRONMENT.'/routes.php');
                }

                // Validate & get reserved routes
                if (isset($route) && is_array($route))
                {
                        isset($route['default_controller']) && $this->default_controller = $route['default_controller'];
                        isset($route['translate_uri_dashes']) && $this->translate_uri_dashes = $route['translate_uri_dashes'];
                        unset($route['default_controller'], $route['translate_uri_dashes']);
                        $this->routes = $route;
                }
 楼主| 发表于 2015-8-4 16:50:48 | 显示全部楼层
飞比寻常 发表于 2015-8-4 16:42
CI框架的一个逻辑错误:
system/core/Route.php文件里的_set_routing()函数:
将下面这段代码,挪到函数的 ...


我添加过去后,访问还是原来的样子啊,无解

发表于 2015-8-4 17:42:24 | 显示全部楼层
把你的URI定义名字换一个普通的试试
发表于 2015-8-5 11:48:07 | 显示全部楼层
@应该不能加在i后面吧
发表于 2015-8-5 14:45:41 | 显示全部楼层
i 的意思大概是忽略大小写,正则
 楼主| 发表于 2015-8-5 15:49:10 | 显示全部楼层
已经解决了,是config.php文件里面配置要改 $config['uri_protocol']        = 'PATH_INFO';

本版积分规则