default_controller路由不能与codeigniter中的函数not_found一起使用

时间:2013-09-09 09:22:31

标签: php codeigniter

我一直在使用codeigniter很长一段时间。我已将默认控制器设置为:

$route['default_controller'] = "main";

一切都很好,除了我在main.php控制器文件中创建了一个重定向到404 Not Found页面的函数。

这是我在main.php中的代码:

function not_found()
{
    $data['page_Title'] = '404 Error!';
    $data['page_Description'] = 'Description';
    $data['page_Keywords'] = 'Keywords';
$data['main_content'] = 'not_found';
    $this->load->view('includes/template', $data); 
}

然后,当我想加载example.com/not_found/时,它会将我重定向到codeigniter的默认未找到页面并说:

404 Page Not Found

The page you requested was not found.

但是,请求页面没有问题:

example.com/main/not_found/

我是否必须设置另一条路线,如:

$route['not_found'] = "main/not_found";

?但这不是我想的好方法!

2 个答案:

答案 0 :(得分:2)

CI的网址格式描述:

domain.com/controller/method

而不是:

domain.com/method

如果您的控制器中有index function,那么将按以下方式调用该函数:

domain.com

答案 1 :(得分:1)

example.com/not_found / 意味着,codeIgniter会找到 controllers / not_found.php 并执行功能索引()

您必须创建 controllers / not_found.php