我的项目结构是
应用
控制器/站点
核心/
视图/站点
我想当我输入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");
    }
}

08-06 17:55