You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将CodeIgniter 3.0站点从GoDaddy迁移到Bluehost后无法正常访问

解决CodeIgniter 3.0迁移Bluehost后的维护页与404问题

先搞定默认显示index.html的问题

Bluehost服务器默认优先加载index.html,这就是你看到维护页的原因。不用删除或重命名该文件,直接在站点根目录的.htaccess(没有就新建一个)中添加一行规则:

DirectoryIndex index.php index.html

这样服务器会优先加载index.php,直接进入CodeIgniter的入口逻辑。

重点解决404错误

CodeIgniter的URL重写机制需要适配Bluehost的服务器环境,按以下步骤逐一排查:

1. 确认mod_rewrite已启用

Bluehost默认开启该模块,但保险起见,进入cPanel的「Apache模块」选项,找到mod_rewrite确保它处于勾选状态。

2. 替换为Bluehost兼容的.htaccess规则

从GoDaddy复制的.htaccess大概率不兼容Bluehost环境,直接替换成以下规则:

RewriteEngine On
RewriteBase /

# 允许访问真实存在的文件或目录
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 将所有请求重写到index.php处理
RewriteRule ^(.*)$ index.php/$1 [L]

如果站点部署在子目录(比如public_html/my-site),需要把RewriteBase /修改为RewriteBase /my-site/。

3. 检查CodeIgniter核心配置

打开application/config/config.php,确认两个关键配置项:

  • $config['base_url']:填写你的完整站点URL,比如https://yourdomain.com,子目录需追加对应路径
  • $config['index_page']:设置为空字符串'',移除URL中的index.php后缀

4. 适配PHP版本

CodeIgniter 3.0支持PHP7.2~7.4版本,在Bluehost的cPanel中进入「PHP版本」选项,切换到7.4版本(不要选择PHP8+,3.0不兼容),避免语法层面的兼容问题。

5. 核对文件权限

确保以下目录和文件的权限设置正确:

  • application/cache:755
  • application/logs:755
  • index.php和.htaccess:644
    Bluehost的权限管控较严格,权限不足会导致文件无法读取,进而触发404错误。

最后排查手段:查看服务器错误日志

如果以上步骤都无法解决问题,进入cPanel的「错误日志」选项,查看具体报错信息——有时候表面是404,实际是数据库连接失败、文件路径错误等后台问题,日志会明确标注原因。

内容的提问来源于stack exchange,提问作者kaloi88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 09:25:13