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

[版本 3.x] 请教 CI 3.x 默认控制器设置的问题(原CI2.x能正常使用的设置而对ci3无效)

[复制链接]
发表于 2018-4-4 10:53:13 | 显示全部楼层 |阅读模式
class Main …… {

        //能正常访问:输入:http://xxx.com
        function index(){echo 'default main'; }

        //访问不了:http://xxx.com/abc
        function abc(){ …… }
}
----------------------------------
想实现的效果
输入:http://xxx.com/abc
自动匹配:http://xxx.com/main/abc

----------------------------------
已设置:
        $route['default_controller'] = 'main';

        $config['index_page'] = '';

CI 2.x 中这样设置是有效的,但CI3就不行了。
发表于 2018-4-18 15:04:09 | 显示全部楼层
解决办法:CI3设置子目录控制器为默认控制器的解决办法
https://segmentfault.com/a/1190000010545766
回复 支持 1 反对 0

使用道具 举报

发表于 2018-4-6 00:09:15 | 显示全部楼层
只能设置默认控制器,不能设置默认控制器和默认方法,默认方法只能是 index。

如果想输入 /abc 访问 /main/abc,只能通过路由规则实现。

PS: CI3 和 CI2 有一定的区别,所以请以 CI3 手册为准。
 楼主| 发表于 2018-4-6 19:36:58 | 显示全部楼层
Hex 发表于 2018-4-6 00:09
只能设置默认控制器,不能设置默认控制器和默认方法,默认方法只能是 index。

如果想输入 /abc 访问 /main ...

谢谢回复。
ci2的这个功能其实挺实用,ci3却取消了,这算不算设计退步呢?
发表于 2018-4-7 17:42:19 | 显示全部楼层
webqd 发表于 2018-4-6 19:36
谢谢回复。
ci2的这个功能其实挺实用,ci3却取消了,这算不算设计退步呢? ...

CI2 是可以把子目录下的控制器当作默认控制器,CI3 不可以,不知道你的需求是不是把子目录下的控制器当作默认控制器,如果不是这个需求,那 CI2 和 CI3 没有区别。

对于,不能把子目录下的控制器作为默认控制器,我认为逻辑上没问题,因为网站的默认页面不应该放到子目录里。

本版积分规则