在URL中传递参数会导致codeigniter中的404页面?

时间:2014-09-25 06:48:57

标签: php .htaccess codeigniter codeigniter-url codeigniter-routing

我已尝试过在URL中传递参数的代码,但系统将其视为参数并导致404错误页面

以下是我用于相同

的代码
<a href="view_pre_read/1315">click here to go</a>

我的系统的htaccess代码是:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /dashboard_new4/


RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]


RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

我的routes.php包含以下代码:$route['view_pre_read/(:num)'] = 'view_pre_read/index/$1';

控制器是:

class View_pre_read extends CI_Controller {

    function index($tid){
            echo $tid;
            $this->load->view('pages/notopic',$data);

    }

}

请帮忙解决这个问题。如果我只发送像'view_pre_read /'那样的控制器url,它会找到控制器类。唯一的事情是,如果我发送参数,它将发生404错误。

谢谢和问候 拉朱

4 个答案:

答案 0 :(得分:1)

将此更改为

$this->load->view('pages/notopic',$data);

$这 - &GT;负载&gt;查看(&#39;页/ notopic /&#39;,$数据); 和宾果游戏

答案 1 :(得分:1)

您忘记了“索引”,即您班级中的方法名称。 试试这个 view_pre_read /索引

答案 2 :(得分:0)

试试这个<a href="view_pre_read/index/1315">click here to go</a> 而不是<a href="view_pre_read/1315">click here to go</a>

第一个网址段是类名(view_pre_read)&amp;第一部分是功能(索引)。您需要在第三个位置传递的参数。

答案 3 :(得分:0)

<a href="<?php echo base_url()?>/view_pre_read/1315">click here to go</a>