Windows本地运行CodeIgniter项目遇Base URL配置问题求解决方案
解决CodeIgniter项目在XAMPP本地运行的问题
咱们一步步排查和配置,帮你把项目跑起来:
1. 先确认Apache端口是否匹配
XAMPP的Apache默认用80端口,你设置的base_url用了3000,这时候得先让Apache在3000端口运行:
- 打开XAMPP控制面板,点击Apache旁的「Config」,选择「Apache (httpd.conf)」
- 搜索
Listen 80,改成Listen 3000 - 再搜索
ServerName localhost:80,改成ServerName localhost:3000 - 保存文件后重启Apache服务
要是不想改端口,那base_url就得用默认的80端口,后面路径再对应调整。
2. 修正base_url的路径
你的项目物理路径是C:/xampp/htdocs/Project/CodeIgniter/myproject,URL路径得和htdocs下的层级完全对应:
- 用默认80端口的话,base_url应该设为:
$config['base_url'] = 'http://localhost/Project/CodeIgniter/myproject/'; - 改成3000端口的话,就是:
$config['base_url'] = 'http://localhost:3000/Project/CodeIgniter/myproject/';
注意末尾要加斜杠,避免后续路径拼接出问题。
3. 测试入口文件是否可访问
打开浏览器,直接访问项目的index.php:
- 80端口:
http://localhost/Project/CodeIgniter/myproject/index.php - 3000端口:
http://localhost:3000/Project/CodeIgniter/myproject/index.php
如果能看到CodeIgniter的默认欢迎页,说明基础配置没问题;如果不行,检查Apache是否正常启动,或者项目文件有没有被设为只读(Windows下一般不用太担心,但最好确认下)。
4. 可选:配置.htaccess去掉URL里的index.php
要是想让URL更干净,就在项目根目录(myproject文件夹)新建.htaccess文件,内容如下:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
同时得开启Apache的rewrite模块:
- 打开
httpd.conf,找到#LoadModule rewrite_module modules/mod_rewrite.so,把前面的#去掉 - 重启Apache服务
5. 验证控制器和路由
如果入口页正常,但访问具体页面报错,检查application/config/routes.php里的默认控制器(默认是welcome),确保application/controllers/Welcome.php存在,而且文件名首字母大写(CodeIgniter 3对控制器文件名大小写有要求)。
内容的提问来源于stack exchange,提问作者Remy Wang
相关产品推荐
相关产品推荐

