codeigniter从视图重定向

时间:2012-08-24 07:29:05

标签: php codeigniter

我正在使用codeigniter构建一个网站。我已将默认控制器设置为袖口。 因此,每当用户键入域名时,它就会控制该控制器。

class Cuff extends CI_Controller {
 public function __construct()
       {
            parent::__construct();
            $this->load->helper('url');
       }

    public function index()
    {
        $this->load->view('index');
    }

    public function navigate()
    {
        echo "test";
        exit;
}

}

在我的索引视图中,我想要一个锚点导航到我的默认控制器中的一个函数。 所以当我写作 <a href="<?php echo base_url();?>navigate">our collection</a>,它说找不到页面。

我甚至设置了这样的基本网址

$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';

似乎无法弄清楚这个问题。

4 个答案:

答案 0 :(得分:3)

您错过了控制器名称

<a href="<?php echo base_url();?>cuff/navigate">our collection</a>

答案 1 :(得分:0)

设置$config['base_url'] ='';

.htaccess文件中:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|css|favicon|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

确保您的控制器位于控制器的文件夹(不是任何子文件夹)中并正确命名为cuff.php

尝试导航到http://yoursite/cuff/navigate

如果您仍然看到错误,请尝试将.htaccess中的最后一行重写为:

RewriteRule ^(.*)$ /index.php/$1 [L]

(没有问号)。

请告诉我这是否有帮助!

编辑:您的链接最好都采用以下形式:

<a href="<?php echo site_url('cuff/navigate');?>">Link</a>

答案 2 :(得分:0)

问题出在您的路由中。

修改 routes.php (位于 ../ application / config / 文件夹中)并添加以下代码:

$route['navigate'] = "Cuff/navigate";

有关Codeingiter URI路由的更多信息:
http://codeigniter.com/user_guide/general/routing.html

希望这有助于你。

答案 3 :(得分:0)

只需使用

"<?php echo site_url();?>/cuff/navigate">our collection</a>