Codeigniter 使子目录控制器工作

Posted

技术标签:

【中文标题】Codeigniter 使子目录控制器工作【英文标题】:Codeigniter making sub-directory controllers work 【发布时间】:2012-02-24 06:47:34 【问题描述】:

我无法让页面加载我想要的控制器。

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

$route['catergory1'] = 'catergory1/cat1';

我的控制器文件设置为:-Controller-Home.php-catergory1 -cat1.php 我认为这会导致codeigniter在category 1文件夹中加载控制器'cat1',但是当我转到localhost/sitename/catergory1时,它只会加载我的默认控制器'home'。我已经尝试将它放在 routes.php 的 uri 路由和保留路由部分,但它仍然无法正常工作。这可能真的很容易,但我对此很陌生。

这是控制器本身,只是为了防止与它们有关: 家庭控制器:

class Home extends CI_Controller   
    function index()   
        $this->load->view('home');  
    

Cat1 控制器:

class Cat1 extends CI_Controller  
    function index()   
        $this->load->view('cat1');  
      

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

【问题讨论】:

【参考方案1】:

顺便说一句,category1 中有错字。

如果我没听错,你的结构是这样的:

\ controllers
 - home.php
 \ category1 \
  - cat1.php

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

$route['category1 '] = 'category1/cat1/index';

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

class Cat1 extends CI_Controller
   function index() 
      $this->load->view('cat1');
   

我写了这篇文章,因为人们通常对 CI 中的路线感到困惑:http://blog.biernacki.ca/2011/12/codeigniter-uri-routing-issue-with-controller-folders/

【讨论】:

非常感谢,现在完美运行!不敢相信我因为错过了这么一件小事而把头发拉出来。

以上是关于Codeigniter 使子目录控制器工作的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CodeIgniter 4 中使用子目录控制器?

xampp codeigniter mac

CodeIgniter路由在子目录中不起作用

如何使 Codeigniter 会话与边缘一起工作?

使用 cpanel 的 codeigniter 密码保护目录

Codeigniter 和 SQL/Haversine 公式