codeigniter默认路由报错的问题

网络 路由交换
访问根url的时候,404错误;而访问homePageindex是正常的。百思不得其解,就去看了一下框架读取路由配置的代码。看到systemcoreRouter.php中这行代码,恍然大悟。

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-博客
相关推荐

2013-05-15 10:56:19

静态路由器路由器设备配置

2009-06-16 08:48:00

OSPF NSSACCNP

2010-08-17 10:48:36

2011-03-04 15:19:19

Vsftpd路径

2010-09-13 16:30:14

sql server数

2021-08-11 16:34:02

浮动路由路由网络技术

2014-04-14 13:46:14

2010-11-16 16:00:40

Oracle默认用户

2009-10-27 14:31:57

linux静态路由

2010-07-05 16:28:18

BGP路由协议

2009-12-14 09:46:35

路由器设置

2009-12-04 10:11:26

ADSL路由器默认密码

2009-10-20 13:58:00

CCIE学习笔记

2011-04-08 18:13:29

默认路由等值路由

2009-11-26 12:58:37

Cisco路由器配置

2009-12-10 14:19:41

配置静态路由

2009-12-16 14:08:26

路由表配置

2010-09-02 15:24:39

2009-11-19 10:45:10

思科路由器默认密码

2009-12-18 17:07:14

点赞
收藏

51CTO技术栈公众号