CodeIgniter中找不到控制器?

时间:2014-09-24 07:00:55

标签: php codeigniter

主页链接是:

<a href="view_pre_read/?tid=22">Click here to go</a>

路由代码是:

$route['view_pre_read/(:any)'] = 'view_pre_read/$1';
$route['view_pre_read'] = 'view_pre_read';

我的控制器是:

class View_pre_read extends CI_Controller {

    function index(){
        $tid=$_REQUEST['tid'];
            $this->load->view('pages/notopic',$data);
    }

}

但它总是会调用404错误页面;

请任何人帮我解决这个问题 提前谢谢。

2 个答案:

答案 0 :(得分:0)

确保您的控制器文件名正确无误。

答案 1 :(得分:0)

首先来自文档:

(:num) will match a segment containing only numbers.
(:any) will match a segment containing any character.

那么为什么不在你的情况下使用(:num)

在控制器中,您必须通过在方法参数中添加tid来检索$_REQUEST的值。我猜这个缺失的参数会导致丢失的路线。此外,我不认为使用$_REQUEST是个好主意。我想CI实现了一些函数来从class View_pre_read extends CI_Controller { function index($tid) { // Add the $tid here echo $tid; //print 22 //$tid=$_REQUEST['tid']; $this->load->view('pages/notopic',$data); } } 获取参数。

$route['view_pre_read/(:num)'] = "view_pre_read/index/$1";

修改

我没有长时间看你的路线...也许你应该添加你调用的方法。

http://yourwebsite.com/view_pre_read/index/22

将导致{{1}}。