繁体   English   中英

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

[英]CodeIgniter 404 error on controller/method routes

我现在使用CodeIgniter遇到一个小问题...

我有以下文件:

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 ,而不仅仅是entretiens ...

如下更改您的routes.php的相关行:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM