ci框架的URL中默认是带有index.php的,通常我们会去掉这个index.php,不过按照官方的方法,有时会导致只能访问首页,其他控制器全部为404。这里我们就说下解决方案,可以按照步骤分别进行检查。
我的安装环境是wampserver。
- 打开
wampserver\wamp\bin\apache\apache2.4.9\conf\httpd.conf
文件,将mod_rewrite.so
模块打开(去掉前面的#);同时把AllowOverride None
修改为AllowOverride All
; - 重启wampserver服务器;
- 在项目的根目录下创建
.htaccess
文件,将以下的代码粘贴到文件中并保存;
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
刷新浏览器,看看是否可以正常访问了。
在官方文档的讨论中,有人表示需要把RewriteRule ^(.*)$ index.php/$1 [L]
修改为RewriteRule ^(.*)$ index.php?$1 [L]
,但是,经过我的测试,发现没什么区别,都能访问。