我的项目结构是
应用
控制器/站点
核心/
视图/站点
我想当我输入http://mywebsite
时必须加载管理员,当我输入http://mywebsite/site
时必须加载前端
我完成了一些教程,并做了以下更改
在config/routes.php
$route['default_controller'] = 'admin';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['site'] = 'site/home';
在
core/My_Controller.php
defined('BASEPATH') or exit('No direct script access allowed');
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
}
}
class Admin_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
}
class Site_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
}
在
controller/site/Home.php
defined('basepath')或exit('no direct script access allowed');
class Home extends Site_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view("site/index.php");
}
}
但当我打开
http://mywebsite/site
请帮帮我
最佳答案
$route['site'] = 'site/home';
该行的作用是定义一个路由,该路由在名为site viz的控制器内查找名为
home
的方法。Site_Controller
。所以您得到了404错误,因为您的
Site_Controller
没有home
方法。尝试像这样更改
Site_Controller
。class Site_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
# added this method
public function home()
{
$this->load->view("site/index.php");
}
}