首选,要确定服务器支持 mod_rewrite 模块,打开 httpd.conf 并找到 LoadModule rewrite_module modules/mod_rewrite.so 这一行,把前面的 # 号去掉并重启 apache, 然后在根目录配置 .htacess 文件:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

注意如果你的 CI 项目有没有在 www 根目录下,例如 www/ci/myapp/index.php 这样的情况,则须要修改上面 /index.php/$1 为 /ci/myapp/index.php 或者 RewriteRule ^(.*)$ index.php/$1 [L]

另外,还要修改 application/config/config.php 文件 $config['index_page'] 为空,既:

$config['index_page'] = ''

现在就可以去掉url中的index.php了。