|
本帖最后由 五点晨曦 于 2011-11-9 03:32 编辑
这个不知道算不算bug,没有灾难性影响,但是感觉不太舒服
我的controllers目录的结构如下
controllers/
member/
login.php
.....
admin/
login.php
.....
我的routes配置:
$route['default_controller'] = "member/login";
测试默认控制器
访问 http://localhost 调用 member/login 控制器 正常
访问 http://localhost/index.php 调用 member/login 控制器 正常
访问 http://localhost/index.php/member 调用 member/login 控制器 正常
访问 http://localhost/index.php/member/login 调用 member/login 控制器 正常
访问 http://localhost/index.php/admin 调用 member/login 控制器 傻眼了!!
关于这个问题手册在控制器一章有讲过,但没提及到这种情况
CI只要没有找到对应的controller,就会自己调用配置文件指定的默认controller(member/login),这个过程没有考虑controller所在的目录层级。
解决方法:apache的url重写,或者CI自带的uri路由,在routes.php中加入一行,设置admin目录的默认控制器
$route['admin'] = "admin/login";
之后访问 http://localhost/index.php/admin 调用admin/login 控制器 正常了
|
|