为我的控制器CodeIgniter路由未定义

时间:2015-04-15 13:07:24

标签: php codeigniter

我在CodeIgniter上遇到了问题。

我创建了一个名为View的控制器。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class View extends CI_Controller {

    public function __construct(){
            parent::__construct();
            $this->load->model('client'); 
    }

    public function index(){
        echo "Test";
        /*$client = $this->client->getClientByID($idClient);
        echo json_encode($client);*/
    }
}

但是当我在浏览器中给他打电话时,他说:在这台服务器上找不到请求的URL / Modules / CommExpert / View /。

控制器视图中的

index()已定义,只有一个回显。

有人能解释我吗?谢谢:D

2 个答案:

答案 0 :(得分:3)

第一部分。 如果你遇到困难 - 通过做一些不同的事情来进行测试。

例如 - 创建一个名为test的新模块 在您的新模块/ test / controllers /下创建一个名为test.php的新控制器或者用于CI 3 Test.php

所以现在你有/application/modules/test/controllers/Test.php(对于CI 3)

在你的test.php控制器中输入

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Test extends CI_Controller {

    public function __construct(){
            parent::__construct();
    }

    public function index(){
        echo "This is the Test controller from my test module";
    }
}

看看你是否可以让它发挥作用!

第二部分:

我看到您在网址中尝试了/ CommExpert / View并获得了404.

小心案例。 Windows和MAC并不关心区分大小写。 Linux系统。

您是否尝试过yourdomain.com/commexpert/view。 经过一些小试验后,我发现你可以拥有一个名为view的控制器(就个人而言,我会尝试寻找不同的东西)。 您也可以在URL中查看或查看,并且两者都有效。

重要的是控制器的情况。 在我的测试中,我有一个名为admin的模块,我创建了一个名为view的控制器,我得到以下内容...... **

  

注意:这适用于CI 3.0

    URL                  Result

domain.com/admin/view -> Works ( Lower case v in view )
domain.com/admin/View -> Works ( Upper case V in View )

domain.com/Admin/view -> 404 ( Big Admin, Lower case v in view )
domain.com/Admin/View -> 404 ( Big Admin, Lower case V in view )

看看这对你有帮助!

答案 1 :(得分:0)

这是我的.htaccess:

Options -Indexes

RewriteEngine on

RewriteCond $1 !^(index\.php|assets|uploads|editor|css|js|scripts|images|img|media|xml|user_guide|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ index.php/$1 [L,QSA]