科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道路由交换如何解决codeigniter默认路由报错问题

如何解决codeigniter默认路由报错问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最近在使用codeigniter时遇到一个莫名其妙的bug,面对codeigniter默认路由报错的问题,我们应该如何解决呢?

来源:互联网资源 2014年12月31日

关键字: CodeIgniter 路由 报错

  • 评论
  • 分享微博
  • 分享邮件

codeigniter默认路由报错的问题

最近在使用codeigniter时遇到一个莫名其妙的bug。如下:

在config/routes配置一个默认路由:

  1. $route['default_controller']="homePage/index";

结果,访问根url的时候,404错误;而访问/homePage/index是正常的。百思不得其解,就去看了一下框架读取路由配置的代码。看到system/core/Router.php中这行代码,恍然大悟。

  1. function_set_routing(){?
  2. ...
  3. $this->default_controller=(!isset($this->routes['default_controller'])OR$this->routes['default_controller']=='')?FALSE:strtolower($this->routes['default_controller']);
  4. ...
  5. }

这里调用了strtolower把default_controller变成小写,后面去读取method和class的时候就会出错。不知道这是个bug,还是有意为之。

解决办法就是default controller命名时不要含有大写字母或者把Router.php里这一行代码的strtolower去掉。(ITeye-博客

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章