我在CI2.x的时候,在controller目录下,分别有admin和index两个目录分别对应后台与前台。
那么routes.php中我是这样设置的
$route['default_controller'] = 'index/home';
现在发现在3.0中,这样设置不行了。请问我应该怎么做。 比较纠结的是,我确实希望把前台放到index目录下,而不是直接移动到上层的controller里面。
想问下3.0以上,前后端分开写有没有什么好的方法,分文件夹好像已近被看做bug不支持了
我在CI2.x的时候,在controller目录下,分别有admin和index两个目录分别对应后台与前台。
那么routes.php中我是这样设置的
$route['default_controller'] = 'index/home';
现在发现在3.0中,这样设置不行了。请问我应该怎么做。 比较纠结的是,我确实希望把前台放到index目录下,而不是直接移动到上层的controller里面。
想问下3.0以上,前后端分开写有没有什么好的方法,分文件夹好像已近被看做bug不支持了
可以用环境变量来弄
$routing['directory'] = getenv('APP_ENV') ?: 'develop'
APP_ENV
可以在 apache 或者 nginx 里设置
这样的话相应的 vhost 入口只会访问对应的控制器目录
比如说 SetEnv APP_ENV=admin
的话
控制器目录就从 controller/admin
为根目录
具体的可以参考下 https://github.com/sinoci/sinoci
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.4k 阅读✓ 已解决
792 阅读
638 阅读
第一种, 双入口, 即index.php和admin.php, application和application_admin实现
第二种, 单入口, 子目录: application/home 和 application/admin
第三种, 单入口, 子控制器: application/user/admin.php 和 application/user/home.php (类似这种)
第四种, 子项目: http://url.cn/admin/index.php(即放到根目录下建立一个完整的admin项目)
第五种, 很多人的做法(独立后台, 与项目同为两个项目, 用同一个数据库, 二级域名或者ip:port访问, 增加安全性)
根据个人喜好取舍吧