Php 404型编码器点火器控制器错误

Php 404型编码器点火器控制器错误,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,我的CodeIgniter站点出现了404错误,我已经查看了其他答案,并使用了.htaccess,但尚未解决。它位于my domain.co.uk/admin上 控制器- <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Projects extends CI_Controller { public function __construct() { parent::__cons

我的CodeIgniter站点出现了404错误,我已经查看了其他答案,并使用了.htaccess,但尚未解决。它位于my domain.co.uk/admin上

控制器-

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

class Projects extends CI_Controller {

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

public function index() {
    $this->load->model('project');
    $data['projects']=$this->project->get_projects();
    echo"<pre>";print_r($data['projects']);echo"</pre>";
}
}
当前在我的域/管理员文件夹中有此.htaccess

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

$config['index_page'] = '';

有人知道我为什么会出现404错误吗

您的
$route['default\u controller']
变量上有什么?(应该在\application\config中定义)

如果您有
$route['default\u controller']=“Projects”
,那么您的索引URL应该是
domain/admin/index.php/Projects
domain/admin/Projects
*

*通过使用带有一些简单规则的.htaccess文件,可以轻松删除此文件。下面是这样一个文件的示例,使用“否定”方法,除了指定的项目外,所有内容都被重定向:

class Model_project extends CI_Model {

}

您的
$route['default\u controller']
变量上有什么?(应该在\application\config中定义)

如果您有
$route['default\u controller']=“Projects”
,那么您的索引URL应该是
domain/admin/index.php/Projects
domain/admin/Projects
*

*通过使用带有一些简单规则的.htaccess文件,可以轻松删除此文件。下面是这样一个文件的示例,使用“否定”方法,除了指定的项目外,所有内容都被重定向:

class Model_project extends CI_Model {

}

在codeigniter 3上,在模型、控制器和库中,您应该始终将类的第一个字母和文件名作为大写字母

此外,我还将项目模型重命名为model_project.php,因为若codeigniter具有相同的名称,则可能会混淆

ModelModel_project.php

class Project extends CI_Controller {
    public function __construct() {
       parent::__construct();
       $this->load->model('model_project');
    }
}
class Projects extends CI_Controller {
   //code comes here
}
ControllerProject.php

class Project extends CI_Controller {
    public function __construct() {
       parent::__construct();
       $this->load->model('model_project');
    }
}
class Projects extends CI_Controller {
   //code comes here
}
您可能需要设置您的路线


在codeigniter 3上,在模型、控制器和库中,您应该始终将类的第一个字母和文件名作为大写字母

此外,我还将项目模型重命名为model_project.php,因为若codeigniter具有相同的名称,则可能会混淆

ModelModel_project.php

class Project extends CI_Controller {
    public function __construct() {
       parent::__construct();
       $this->load->model('model_project');
    }
}
class Projects extends CI_Controller {
   //code comes here
}
ControllerProject.php

class Project extends CI_Controller {
    public function __construct() {
       parent::__construct();
       $this->load->model('model_project');
    }
}
class Projects extends CI_Controller {
   //code comes here
}
您可能需要设置您的路线


如果您使用的是codeigniter 3.0,请以大写字母开头更新您的型号和控制器,并且不要为型号和控制器提供与上述代码中相同的名称。 例如:

class Projects_model extends CI_Model {
       //code comes here
    }
在这个项目中,名称是非常好的,但是请注意,您的文件名也应该以大写字母Project.php开头 另一种型号:

这是使用codeigniter的正确方法,而且我已经告诉过您,模型和控制器文件名必须以大写字母开头


谢谢。。希望它能帮助您

如果您使用的是codeigniter 3.0,那么请以大写字母开始更新您的型号和控制器,并且不要为型号和控制器提供与上述代码中相同的名称。 例如:

class Projects_model extends CI_Model {
       //code comes here
    }
在这个项目中,名称是非常好的,但是请注意,您的文件名也应该以大写字母Project.php开头 另一种型号:

这是使用codeigniter的正确方法,而且我已经告诉过您,模型和控制器文件名必须以大写字母开头


谢谢。。希望它能对你有所帮助

是你的文件名Projects.php还是Projects.phpIs它在
domain.co.uk/index.php/admin
上工作吗?它在“Projects.php”上是小写的p,不,它在任何路径上都不工作我已经厌倦了一些你的文件名Projects.php或Projects.phpIs它在
domain.co.uk/index.php/admin上工作吗?它在
上是小写的p“projects.php”,不,它在任何路径上都不起作用,我已经厌倦了一些