Bem, todas essas respostas são boas, mas para um novato (o que é feito pela primeira vez), essas são confusas. Existem outros arquivos htaccess que residem no controlador, mas temos que editar ou adicionar o htaccess na pasta principal do projeto.
Esta é a sua pasta codeigniter, onde o arquivo reside como aplicativo, sistema, ativos, uploads etc.
Your_project_folder/
application/
assets/
cgi-bin/
system/
.htaccess---->(Edit this file if not exist than create it)
index.php
Mude este arquivo conforme escrito abaixo:
<IfModule mod_rewrite.c>
RewriteEngine On
# !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
# slashes.
# If your page resides at http://www.example.com/mypage/test1
# then use RewriteBase /mypage/test1/
# Otherwise /
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: Anand Pandey
ErrorDocument 404 /index.php
</IfModule>
e sim, claro, você precisa alterar duas linhas de código no aplicativo / config / config.php
//find the below code
$config['index_page'] = "index.php";
$config['uri_protocol'] ="AUTO"
//replace with the below code
$config['index_page'] = "";
$config['uri_protocol'] = "REQUEST_URI";