首页 文章

使用Codeigniter 2.1获取404 - HMVC 5.4

提问于
浏览
0

这是我的第一次hmvc尝试,它出错了......我正试图通过不同的模块分离我的站点区域 . 我的意图是使用ion_auth控制hmvc的访问 . 这是我的初始结构:

/application
  /modules     <-- hmvc
    /public_zone
       /controller
        public_zone.php
       /view
        ...
    /private_zone
     ...

所以,要做到这一点(在core和third_party文件夹上安装hmvc)我试图设置为'default_controller' 'public_zone'控制器 . His mission is load the root page ('localhost'), but it returns a 404 error.

这是我的public_zone.php文件:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Public_zone extends MX_Controller {

   public function index()
    {
      $this->load->view('include/header');
      $this->load->view('frontpage');
      $this->load->view('include/footer');
    }

}

也许问题出在routes.php(application / config / routes.php)文件中?我试过这个:

$route['default_controller'] = "public_zone"; 
$route['404_override'] = '';

Anyone can tell me what Im doing wrong? 当然我误解了一些hmvc概念...但事实是我不是't know why it doesn'吨有效:(

1 回答

  • 1

    首先,保持CI结构的完整性非常重要 . 所以你需要结构:

    /application
        /controllers
            public_zone.php
        /views
            frontpage.php
            /include
               header.php
               footer.php
        /models
    

    当然,您还需要CI附带的其他文件夹 .

    其次,您需要对控制器进行一些更改才能使其正常工作 .

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    class Public_zone extends CI_Controller {
    
     public function __construct()
     {
       parent::__construct();
     }
    
     public function index()
     {
       $this->load->view('include/header');
       $this->load->view('frontpage');
       $this->load->view('include/footer');
     }
    
    }
    

    在此更改后,它应该工作:)还要确保阅读用户指南:http://codeigniter.com/user_guide/

    您可能需要花一些时间阅读,但稍后它会为您节省大量时间 .

    祝好运!

相关问题