为什么我的MVC控制器显示404?

时间:2015-12-23 09:24:00

标签: php codeigniter mamp

我有一个MVC项目,我正在尝试在新计算机上安装。我正在使用MAMP和codeigniter。出于某种原因,当我尝试去任何控制器时,我收到404错误。

但奇怪的是,路由文件中定义的默认控制器似乎工作正常。

这是一个示例控制器:

class Test_controller extends CI_Controller {
    public function index(){
       echo 'hello';
    }
}

当我去localhost:8888/test_controller时,我得到404。

但是,将以下行添加到我的routes.php ...

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

...然后导航到localhost:8888似乎加载控制器确定。

2 个答案:

答案 0 :(得分:3)

您缺少.htaccess,默认CI需要/index.php/控制器才能工作,要删除index.php您可以使用Codeigniter提供的HTaccess或者这个:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^ index.php [L] 

将其放在应用程序文件夹的外面,名称为" .htaccess"

答案 1 :(得分:0)

在Codeigniter CI3上区分大小写。

确保文件名首字母大写

Test_controller.php

然后是控制器类

<?php

class Test_controller extends CI_Controller {

   public function index() {
      echo 'hello';
   }

}

如何使用控制器Link

Codeigniter Doc&#39; Link

还要确保您的base_url已设置

$config['base_url'] = 'http://localhost/project/';