请教 CI 3.x 默认控制器设置的问题(原CI2.x能正常使用的设置而对ci3无效)
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就不行了。 解决办法:CI3设置子目录控制器为默认控制器的解决办法
https://segmentfault.com/a/1190000010545766
只能设置默认控制器,不能设置默认控制器和默认方法,默认方法只能是 index。
如果想输入 /abc 访问 /main/abc,只能通过路由规则实现。
PS: CI3 和 CI2 有一定的区别,所以请以 CI3 手册为准。 Hex 发表于 2018-4-6 00:09
只能设置默认控制器,不能设置默认控制器和默认方法,默认方法只能是 index。
如果想输入 /abc 访问 /main ...
谢谢回复。
ci2的这个功能其实挺实用,ci3却取消了,这算不算设计退步呢? webqd 发表于 2018-4-6 19:36
谢谢回复。
ci2的这个功能其实挺实用,ci3却取消了,这算不算设计退步呢? ...
CI2 是可以把子目录下的控制器当作默认控制器,CI3 不可以,不知道你的需求是不是把子目录下的控制器当作默认控制器,如果不是这个需求,那 CI2 和 CI3 没有区别。
对于,不能把子目录下的控制器作为默认控制器,我认为逻辑上没问题,因为网站的默认页面不应该放到子目录里。
页:
[1]