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


Why are my MVC controllers showing 404?

我有一个MVC项目,我正试图在一台新计算机上进行设置。我正在使用MAMP和代码点火器。由于某种原因,当我尝试转到任何控制器时,都会出现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似乎可以加载控制器。

您缺少.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"的应用程序文件夹之外

在区分大小写的代码点火器CI3上。

确保文件名有第一个字母大写

Test_controller.php

然后控制器类

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

如何使用控制器链接

代码点火器文档链接

还要确保你的base_url设置为

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