Habilitar clean urls en Apache, urls limpias

Habilitar clean urls o urls limpias en Apache permitira que las url como "http://www.example.com/?q=node/83" se vean como "http://www.example.com/about" algo muy util un cms que genera contenido dinamico como Drupal.

Para habilitar las clean urls o urls limpias en Apache seguimos los siguientes pasos:

Verificamos si rewrite_module esta habilitado, para eso ejecutamos el compando: apachectl -M, esto nos lista todos los modulos habilitados en Apache, deberiamos de ver algo como lo siguiente, lo cual nos indicara que esta habilitado.


rewrite_module (shared)

Si no lo esta posiblemente solo haya que habilitarlo en el archivo httpd.conf, buscamos la linea siguiente y si esta comentareada simplemente borramos el simbolo # que precede la linea:

#LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

Tambien agregamos las siguientes lineas en el directorio de nuestro sitio:

    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

En mi caso quedo de la siguiente forma:

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Luego reiniciamos el servidor Apache y listo.

Comentarios