我无法让页面加载我想要的控制器。
例如,我希望我的网站加载为localhost / sitename / catergory1 / catergory2,其中catergory 1是它自己的控制器,2是一个方法。所以我尝试将其添加到我的routes.php:
$route['catergory1'] = 'catergory1/cat1';
将我的控制器文件设置为:
-Controller
-Home.php
-catergory1
< - 子文件夹
-cat1.php
我认为会导致codeigniter在catergory 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');
}
}
我只是愚蠢而且错过了一些简单的事情吗? 感谢。
答案 0 :(得分:6)
你有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/