CodeIgniter网站WAMP本地无法设首页,上传Godaddy后报404错误求助
解决CodeIgniter本地首页设置与GoDaddy服务器404问题
先聊聊本地WAMP环境的首页配置问题,再一步步搞定GoDaddy服务器上的部署故障。
一、本地WAMP设置首页的关键检查点
你已经在route.php里配置了默认控制器,但可能有几个细节没落实到位:
- 控制器文件与类名的正确性:
确认控制器文件路径是application/controllers/front_controllers/home/Home_controller.php,类名必须为Home_controller(CodeIgniter 3.x要求文件名和类名首字母大写且一致),并且类中必须包含index()方法:class Home_controller extends CI_Controller { public function index() { // 首页逻辑代码 $this->load->view('home_view'); } } - 开启mod_rewrite模块:
打开WAMP管理器,找到「Apache」→「Apache Modules」,确保rewrite_module处于勾选状态,之后重启Apache服务——这是去掉URL中index.php的必要前提。 - 调整.htaccess的RewriteBase:
因为你的项目放在localhost/codeIgniter/子目录下,需要在.htaccess中添加RewriteBase,修改后内容如下:<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine on RewriteBase /codeIgniter/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [QSA,L] </IfModule>
二、GoDaddy服务器404错误的解决步骤
GoDaddy的Linux主机对Rewrite规则和文件权限有特殊要求,按以下步骤调整:
- 更新base_url配置:
打开config.php,把$config['base_url']替换为你的实际域名,比如:$config['base_url'] = 'http://your-domain.com/'; // 如果项目放在子目录,比如http://your-domain.com/codeIgniter/,则写成: // $config['base_url'] = 'http://your-domain.com/codeIgniter/'; - 适配GoDaddy的.htaccess规则:
GoDaddy服务器对PATH_INFO支持有限,需要修改RewriteRule格式,同时添加RewriteBase,推荐使用这个版本:<IfModule mod_rewrite.c> Options +FollowSymLinks -MultiViews RewriteEngine On // 根目录部署写/,子目录写对应路径,比如/codeIgniter/ RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 [L] </IfModule> - 检查文件大小写与权限:
Linux服务器区分大小写,确保所有控制器、模型、视图的文件名和类名与本地完全一致(比如Home_controller.php不能写成小写)。同时设置文件夹权限为755,文件权限为644,避免权限不足导致无法访问。 - 确认PHP版本与扩展:
登录GoDaddy主机控制面板,检查PHP版本是否符合CodeIgniter要求(3.x需要PHP 5.6及以上,推荐7.x版本),并且确认开启了mysqli等必要扩展。 - 验证默认控制器路径:
服务器上的控制器路径要和本地完全一致,你route.php里的$route['default_controller'] = 'front_controllers/home/home_controller/index';配置是正确的,CodeIgniter 3.x支持多级控制器路径。
按上述步骤调整后,本地首页应该能正常访问,GoDaddy服务器上的404错误也能得到解决。
内容的提问来源于stack exchange,提问作者Lovepreet Singh Batth
相关产品推荐
相关产品推荐

