Bueno, todas estas respuestas son buenas, pero para un novato (que se hace por primera vez) son confusas. Hay otros archivos htaccess que residen en el controlador, pero tenemos que editar o agregar htaccess en la carpeta principal del proyecto.
Esta es su carpeta codeigniter, donde reside el archivo como aplicación, sistema, activos, cargas, etc.
Your_project_folder/
application/
assets/
cgi-bin/
system/
.htaccess---->(Edit this file if not exist than create it)
index.php
Cambie este archivo como está escrito a continuación:
<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>
y sí, por supuesto, debe cambiar dos líneas de código en la aplicación / 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";