codeigniter添加一个新的控制器给出了404

时间:2012-09-02 19:02:32

标签: php codeigniter

每当我尝试在CodeIniter中添加新控制器时,我都会得到以下结果:

  

未找到404页面

     

找不到您请求的页面。

carsadmin.php:

 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 class Carsadmin extends Base_Controller {
       public function index(){
    echo 'Hello World!';
   }
 }

为什么会发生这种情况?我需要更改路线文件吗?

$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['^(en|ar|ru)/pages/(.+)$'] = 'pages/index/$2';
$route['^(en|ar|ru)/profile/([0-9]+)$'] = '/profile/index/$2';
$route['^(en|ar|ru)/admin$'] = 'admin/dashboard';
$route['^(en|ar|ru)/(.+)$'] = "$2";
$route['^(en|ar|ru)$'] = $route['default_controller'];

2 个答案:

答案 0 :(得分:1)

试一试: -

<?php

class Carsadmin extends CI_Controller {

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

    public function index()
    {
        echo 'Hello World!';                   
            die;

    }


}

?>

答案 1 :(得分:1)

你需要一个htaccess文件,里面写着以下内容。

<IfModule mod_rewrite.c>
RewriteEngine on


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

问题是可以通过在URL中添加/ index然后在控制器名称中添加/来访问控制器。

因此,您需要一个htaccess文件来删除该问题。