[英]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.