Activar mod_rewrite en Apache2 Ubuntu Activar mod_rewrite en Apache2 Ubuntu

Posted by on Jun 14, 2010 in Tutoriales | 4 comments


Sin duda alguna, es toda una experiencia tener un servidor propio, en el que tengas que levantar (instalar, activar, configurar) todos los servicios que requieras desde cero, en estos días @reymundolopez y un servidor hicimos un reinicio general a nuestro server, después de tener todo listo (que les prometemos post de ello aquí o en el blog de Rey) y vuelto a poner en marcha, puse este sitio a funcionar, pero me topé con un pequeño problema pero fácil de resolver.

Seguramente todos hemos visto esas famosas URL amigables, donde con leer el link que nos proporcionen, podemos entender de lo que trata o dice el título de la publicación, algo como http://jafrancov.com/2010/06/ejemplo-de-url donde cada contenido que tengamos entre las diagonales, son parámetros que se envían al server en lugar de tener algo como http://jafrancov.com/?p=123&s=456&w=789 que no sabemos de qué nos van a hablar en la publicación o en su caso los parámetros los mandamos con su ID oculta.

Para ello se usa el mod_rewrite que es un módulo de Apache que permite modificar lo que aparece en la barra de dirección, no me ha tocado desarrollar con ello, pero se necesita tener activado este módulo para poder utilizar diversas aplicaciones y frameworks (como CakePHP, WordPress, Joomla), si es que queremos tener esas bonitas URLs.

Veamos como activarlo en Ubuntu 9.04 (que desde el 7.10 y en delante es igual mientras sea Apache2), es bastante sencillo hacerlo en Ubuntu, esta distribución es recomendable para aquellos que quieran empezar a familiarizarse con GNU/Linux.

Desde nuestra consola o terminal, escribimos lo siguiente en la línea de comandos:

$ sudo a2enmod rewrite

El comando a2enmod (es una abreviatura de Apache2 Enable Module) activa módulos que se encuentren en el directorio /etc/apache2/mods-available y los pasa al directorio /etc/apache2/mods-enabled.

Ahora lo que sigue es modificar el archivo del Virtual Host donde queremos que aplique el rewrite, en este caso sera para todo lo que este dentro de nuestro server, nos dirijimos al directorio /etc/apache2/sites-enabled/ y ahí debe de haber un archivo llamado 000-default, lo abrimos con vim o nano.

$ sudo nano /etc/apache2/sites-enabled/000-default

Aquí buscamos en las líneas que digan AllowOverride None y las cambiamos por AllowOverride All. En esta parte podemos definir si queremos que se aplique para todos (en el 000-default) el rewrite o definir en específico cuáles host deseamos que lo tengan.

Por último tenemos que reiniciar Apache2:

$ sudo /etc/init.d/apache2 force-reload

Listo… ahora puedes disfrutar de poder tener esas flamantes URL amigables =D

Enjoy this Life!!

Quizá también te interese...


4 Responses to “Activar mod_rewrite en Apache2 Ubuntu”

  1. rewrite es un excelente modulo para url’s elegantes, y también podemos sacarle provecho para algunas cosillas sucias.

    Por cierto, un equivalente a:
    $ sudo /etc/init.d/apache2 force-reload

    Puede ser apache2ctl
    sudo apache2ctl restart

    Saludos !!

  2. Gracias, venia buscando esta configuracion

  3. DIos!!!! te hago padre!!!!! llevo semanas buscando una solución a este problema.
    Mil gracias!!!!!!!!!

Leave a Reply