无需MAMP/WAMP,在Mac原生Apache部署CodeIgniter虚拟主机求助
在Mac自带Apache上配置CodeIgniter虚拟主机(无需MAMP/WAMP)
当然可以!Mac自带的Apache完全能搞定,不用依赖MAMP/WAMP这类工具。我之前在配置CodeIgniter站点时也踩过不少坑,给你分享下亲测有效的完整步骤:
1. 启用并验证自带Apache
- 打开终端,启动Apache服务:
sudo apachectl start - 在浏览器访问
http://localhost,如果看到It works!,说明Apache已经正常运行。
2. 开启Apache虚拟主机模块
- 编辑Apache主配置文件:
sudo nano /etc/apache2/httpd.conf - 找到以下两行,去掉前面的
#注释:LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so Include /private/etc/apache2/extra/httpd-vhosts.conf - 保存退出(按
Ctrl+O,回车,再按Ctrl+X),然后重启Apache:sudo apachectl restart
3. 配置虚拟主机规则
- 打开虚拟主机配置文件:
sudo nano /etc/apache2/extra/httpd-vhosts.conf - 添加针对你的CodeIgniter站点的配置(注意替换成自己的路径和域名):
<VirtualHost *:80> ServerName ci.local # 自定义的本地域名 ServerAlias www.ci.local # CodeIgniter 4请指向public目录,CodeIgniter 3指向项目根目录 DocumentRoot "/Users/你的用户名/Sites/ci-project/public" ErrorLog "/private/var/log/apache2/ci-local-error_log" CustomLog "/private/var/log/apache2/ci-local-access_log" common <Directory "/Users/你的用户名/Sites/ci-project/public"> Options Indexes FollowSymLinks MultiViews AllowOverride All # 必须开启,才能支持.htaccess重写 Require all granted </Directory> </VirtualHost> - 保存退出后,再次重启Apache:
sudo apachectl restart
4. 绑定本地域名到hosts
- 编辑hosts文件:
sudo nano /etc/hosts - 添加一行:
127.0.0.1 ci.local - 保存退出,刷新DNS缓存:
dscacheutil -flushcache
5. CodeIgniter专属配置(关键!)
针对CodeIgniter 4:
- 复制项目根目录的
env文件并重命名为.env - 编辑
.env文件,修改以下配置:app.baseURL = 'http://ci.local/' app.indexPage = '' # 去掉URL中的index.php - 确保
public目录下的.htaccess文件存在,内容如下:RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
针对CodeIgniter 3:
- 编辑
application/config/config.php文件,修改:$config['base_url'] = 'http://ci.local/'; $config['index_page'] = ''; - 在项目根目录创建
.htaccess文件,内容如下:RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
6. 权限检查(避免访问报错)
- 给项目目录设置正确的权限,确保Apache用户(
_www)能读写:sudo chown -R _www:_www /Users/你的用户名/Sites/ci-project sudo chmod -R 755 /Users/你的用户名/Sites/ci-project
7. 测试访问
重启Apache后,在浏览器访问 http://ci.local,如果能看到CodeIgniter的默认欢迎页面,就说明配置成功啦!
内容的提问来源于stack exchange,提问作者PtiSinge
相关产品推荐
相关产品推荐

