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

CodeIgniter项目去除index.php后非主页URL访问返回404如何解决

问题修复方案

1. 修正根目录.htaccess文件内容

你当前使用的.htaccess规则是application目录下的限制访问配置,不能放在项目根目录使用,会拦截所有请求。

  • 根目录的.htaccess替换为以下内容:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
  • 原来的限制访问规则保留在application文件夹下的.htaccess文件中即可,不要删除。

2. 开启Apache重写模块与目录权限配置

  • 打开Xampp的apache/conf/httpd.conf文件,查找LoadModule rewrite_module modules/mod_rewrite.so,去掉行首的#开启rewrite模块
  • 找到你的虚拟主机配置,补充目录权限配置,修改httpd-vhost.conf内容如下:
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/Admin/"
    ServerName fitbit.now
    <Directory "C:/xampp/htdocs/Admin/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

核心是新增AllowOverride All配置,允许当前目录读取.htaccess规则,你之前未配置该项时.htaccess完全不生效,所以只有带index.php的地址能访问。

3. 修正域名一致性问题

你配置的虚拟主机域名是fitbit.now,但测试访问的是fit.now,请保持一致:要么修改虚拟主机的ServerName为fit.now,要么测试时统一用http://fitbit.now/Admin/dashboard访问。

4. 验证配置生效

修改完成后重启Xampp的Apache服务,清空浏览器缓存后再次测试不带index.php的地址即可正常访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:57:01