
Por fin he logrado hacer que desaparezca el segmento index.php de la url de mi servidor apache bajo el frameword CodeIgniter, si antes la URL se veía:
http://localhost/MundoPatitas/index.php/crear_cuenta
ahora a quedado en esto
http://localhost/MundoPatitas/crear_cuenta
Mucho mas vistoso si se podrán haber dado cuenta, para ello debemos hacer modificaciones tanto a nivel servidor (apache) y a nivel de framework, para ello debemos hacer lo siguiente:
1.- Primero habilitamos el Mod_Rewrite escribiendo en consola:
$sudo a2enmod rewrite
2.- Debemos modificar todos los campos que dicen “AllowOverride None” por “AllowOverride All” del siguiente documento:
$sudo gedit /etc/apache2/site-enable/000-default
3.- Reiniciamos apache
$sudo /etc/init.d/apache2 restart
Ahora que tenemos activado el Mod_Rewrite tenemos que hacer las configuraciones que respectan a nuestro framework.
1.- Nos vamos al archivo de configuración que se encuentra ubicado en el directorio “application/config/config.php” y cambiamos los siguientes campos:
$config['index_page'] = “index.php”;
El cual debería quedarnos así:
$config['index_page'] = “”;
2.- Y finalmente en el directorio raíz, que en mi caso es “/var/www/MundoPatitas” debemos crear un archivo llamado “.htaccess” el cual debe tener el siguiente contenido:
# Customized error messages.
ErrorDocument 404 /index.php
# Set the default handler.
DirectoryIndex index.php
# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
Con esto ya deberíamos tener habilitado el sistema para poder sacar el TÓXICO index.php de nuestra URL, espero les sirva pues me costó su buenas horas en pillar la solución, saludos
PD: si por alguna razón, al levantar apache les arroja lo siguiente:
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
La solución está en agregar al documento apache2.conf la siguiente línea al principio del documento:
ServerName localhost
Fuentes:
by AngerRising









