Codeigniter使子目录控制器工作

Dan*_*nyH 6 controller codeigniter

我无法使页面加载我想要的控制器.

例如,我希望我的网站加载为localhost/sitename/catergory1/catergory2,其中catergory 1是它自己的控制器,2是一个方法.所以我尝试将其添加到我的routes.php:

$route['catergory1'] = 'catergory1/cat1';
Run Code Online (Sandbox Code Playgroud)

我控制器文件设置为:
-Controller
   -Home.php
   -catergory1 < -子文件夹
       -cat1.php
,我想会引起笨加载器"的CAT1"的CATERGORY 1文件夹内,而是当我去到本地主机/网站名称/ catergory1它只是加载我的默认控制器的"家".我已经尝试将它放在routes.php的uri路由和保留路由部分,但它仍然无法正常工作.这可能是非常简单的事情,但对此我是新手.

控制器本身只是因为它与它们有关:
家庭控制器:

class Home extends CI_Controller {  
    function index() {  
        $this->load->view('home');  
    }
}
Run Code Online (Sandbox Code Playgroud)

Cat1控制器:

class Cat1 extends CI_Controller{  
    function index() {  
        $this->load->view('cat1');  
    }  
}
Run Code Online (Sandbox Code Playgroud)

我只是愚蠢而错过了一些简单的事情吗?
谢谢.

Jak*_*kub 6

你有一个错误的category1顺便说一句.

如果我正确遵循你有这个结构:

\ controllers
 - home.php
 \ category1 \
  - cat1.php
Run Code Online (Sandbox Code Playgroud)

如果是这样,你会对自己的路线感到困惑:

$route['category1 '] = 'category1/cat1/index';
Run Code Online (Sandbox Code Playgroud)

需要定义方法index,这是基于你的'cat1.php'文件:

class Cat1 extends CI_Controller{
   function index() {
      $this->load->view('cat1');
   }
}
Run Code Online (Sandbox Code Playgroud)

我写这个,因为人们通常会得到与CI路线困惑:
http://blog.biernacki.ca/2011/12/codeigniter-uri-routing-issue-with-controller-folders/