我的项目结构是
申请 Controller /站点 核/ 浏览量/网站
我想当我输入 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') or 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 的 Controller 内查找名为 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");
}
}
关于php - 在 codeigniter 中分离站点和管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53412075/