codeigniter新手配置易失效的三大关键点:一是base_url必须设为完整url(如'http://localhost/myproject/'),否则资源加载失败;二是数据库需在autoload.php中显式启用'database'库;三是url重写需同时开启mod_rewrite模块并配置正确.htaccess文件。

新手配 CodeIgniter,最容易漏掉的不是“怎么配”,而是“配完没生效”——往往卡在几个看似微小、实则关键的环节上。下面这三步,90% 的初学者都踩过坑。
base_url 没设对或根本没设
这是最常被跳过的一步。CodeIgniter 不会自动推断你的项目地址,$config['base_url'] 必须手动填完整 URL(含协议和末尾斜杠),比如:
-
错的写法:
$config['base_url'] = '/myproject/';或留空 -
对的写法:
$config['base_url'] = 'http://localhost/myproject/';(本地)或https://example.com/(线上)
漏设或写错会导致:CSS/JS 加载失败、site_url() 和 base_url() 输出乱路径、表单提交 404、甚至欢迎页显示但资源全红叉。
数据库配置写了但没启用自动加载
很多人改完 application/config/database.php 就以为完事了,却忘了让框架“主动用它”。CI 默认不自动加载数据库类,必须显式声明:
- 打开
application/config/autoload.php - 找到
$autoload['libraries'] = array(); - 改成:
$autoload['libraries'] = array('database');
否则调用 $this->db->get() 会直接报错:Call to a member function get() on null —— 因为 $this->db 根本没被初始化。
URL 重写开了但 .htaccess 没配或 Apache 模块没启
想隐藏 index.php?光改 $config['index_page'] = '' 不够。还必须同步完成两件事:
-
Apache 端:确认
mod_rewrite已启用(XAMPP/WAMP 一般默认开,但需检查 httpd.conf 中LoadModule rewrite_module modules/mod_rewrite.so未被注释) -
项目端:确保根目录有正确的
.htaccess文件,内容至少包含标准重写规则(如官方推荐的 RewriteEngine + RewriteCond + RewriteRule 三行)
漏任一环都会导致所有路由 404,且错误提示不明确,容易误判成路由或控制器问题。











