php - 在 codeigniter 中分离站点和管理员

标签 php codeigniter

我的项目结构是

申请 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

时我得到 404

请帮帮我

最佳答案

$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/

相关文章:

php - 如何将 JSON 数组插入 Mysql?

mysql - 使用 GroceryCrud 自定义下拉菜单?

php - 如何在codeigniter中为用户打卡和打卡设置标志?

codeigniter - 代码点火器总是逃避我的 SELECT ... CASE 查询

javascript - Highstock 与 php 和 mysql

php - 如何将多个变量从 php 传递到 python 脚本

php - Laravel 5.2 验证工作正常,但 $errors 变量为空

php - 如果一列具有重复值,则将表的行标记为重复

javascript - 如何集成codeigniter和javascript进行验证?

php - 如何在 codeigniter 中显示 mysql 数据库中的泰米尔语内容