CodeIgniter 404在控制器/方法路由上错误



我现在正面临着一个小问题...

我有以下文件:

applications/controllers/home/entretiens.php

看起来像这样:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Entretiens extends CI_Controller
{
    public function index()
    {
        if($this->session->userdata('logged_in'))
        {
             $data['page'] = "entretiens";
             $session_data = $this->session->userdata('logged_in');
             $data['prenom'] = $session_data['prenom'];
             $this->load->model("Entretiens_model");
             $data['entretiens'] = $this->Entretiens_model->getAllEntretiens($session_data['id']);
             $data['main_content'] = 'home/entretiens_view.php';
             $this->load->template('entretiens_view', $data);
        }
        else
        {
            //If no session, redirect to login page
            redirect('home/login', 'refresh');
        }
    }
    public function ajouter()
    {
        echo 'Test';
    }
}
?>

如果我访问浏览器:myurl/entretiens我获取正确的页面(控制器" entretiens"的索引方法),但是如果我转到 myurl/entretiens/ajouter,我得到的就是从codeigniter中获得的404。

这是我的路线文件:

$route['default_controller'] = "home/index_controller";
$route['login'] = "home/login_controller";
$route['user'] = "home/user_controller";
$route['entretiens'] = "home/entretiens";
$route['404_override'] = '';

config.php(嗯,有趣的部分):

$config['base_url'] = 'http://dev.hinsolite.com/';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

和我的.htaccess

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond $1 !^(index.php|css|images|robots.txt)
RewriteRule ^(.*)$ ./index.php/$1 [L]

(此问题在所有控制器上,而不仅是entretiens ...

更改routes.php中的相关行:

$route["entretiens(.*)"] = "home/entretiens$1";

这将视为通配符,entretiens之后的所有内容都将传递给home/entretiens

最新更新