我在Codeigniter项目中有两个应用程序。贝娄是结构:
/admin
/index.php
/application
/admin
/controllers
/Dashboard
/Product
/Post
/public
/controllers
/Home
/About
/Contact
/system
/index.php
公共应用程序可以正常工作。我可以用这个设置调用所有控制器:
/*----seting in /index.php---*/
$application_folder = 'application/public';
/*----seting in /application/public/config/config.php---*/
$config['base_url'] = 'http://localhost/myweb/';
/*----seting in /application/admin/config/routes.php---*/
$route['default_controller'] = 'Home';
但是,Admin应用程序无法正常工作。我只能调用Dashboard控制器,这是我设置的默认控制器。设置如下:
/*----setting in /admin/index.php---*/
$application_folder = '../application/admin';
/*----seting in /application/admin/config/config.php---*/
$config['base_url'] = 'http://localhost/myweb/admin/';
/*----seting in /application/admin/config/routes.php---*/
$route['default_controller'] = 'Dashboard';
所以,当我访问时:
http://localhost/myweb/ //it will return home page
http://localhost/myweb/admin //it will return dashboard page
http://localhost/myweb/admin/product //it will return error
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
为什么不将管理区域分成子目录,而不是拥有两个应用程序目录。这样,您的公共控制器和管理员控制器可以共享模型,帮助程序等
所以它会是:
/application
/controllers
/admin
Index.php <-- admin controller inside 'admin' directory
Index.php <-- public controller outside 'admin' directory
/models
/views
/admin
/public