CodeIgniter 404页面问题求助:新手配置后遇访问异常
解决CodeIgniter 404页面异常的问题
让我一步步帮你排查配置里的问题:
1. 控制器命名规范问题
CodeIgniter 对控制器的类名和文件名有严格的大小写要求(虽然部分服务器不区分,但规范写法能避免很多坑):
- 控制器文件名应该是
Home.php(首字母大写),而不是home.php - 类名必须和文件名一致,且首字母大写:
<?php class Home extends CI_Controller { public function index() { $this->load->view('home_view'); } }
2. 路由配置错误
你的默认控制器设置多了 /index,CodeIgniter 默认会调用控制器的 index 方法,不需要额外指定。修改 routes.php:
$route['default_controller'] = 'home'; // 去掉后面的/index $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
3. .htaccess 配置错误
这是你当前问题的核心!你把入口文件指向了 home.php,但 CodeIgniter 的标准入口是 index.php,修改 .htaccess 如下:
DirectoryIndex index.php RewriteEngine On # 允许访问实际存在的文件和目录 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 把所有请求转发到index.php RewriteRule ^(.*)$ index.php/$1 [L,QSA]
4. 额外检查项
- 确保控制器文件放在
application/controllers/目录下,视图home_view.php放在application/views/目录下 - 如果修改后还是有问题,可以尝试把
config.php里的$config['uri_protocol']改成'AUTO',有些服务器环境对REQUEST_URI的支持不太好
按照以上步骤调整后,应该就能正常访问首页,不会出现404错误了。
内容的提问来源于stack exchange,提问作者Paweł Zaraś
相关产品推荐
相关产品推荐

