Apache modulo mod_rewrite

25-07-2013 - Andrés Cruz

Apache modulo mod_rewrite In english

Este material forma parte de mi curso y libro completo; puedes adquirirlos desde el apartado de libros y/o cursos.

El MOD_REWRITE es un módulo provisto por el servidor Apache que permite crear URLs alternativas a las URLs dinámicas generadas por la forma en que están programadas nuestras aplicaciones web; de forma tal que sean más fáciles de recordar, más legibles y también mejor indexadas por los buscadores; y esto es un factor importante a considerar al momento del SEO.

Activar el MOD_REWRITE en Apache

Todo se reduce a 2 sencillos pasos: ejecutar un comando por línea de comandos y modificar las directivas de un archivo de configuración de Apache.

El comando a2enmod sirve para habilitar módulos en Apache; para habilitar el modulo rewrite de Apache ejecutamos:

a2enmod rewrite

Después en la ruta:

/etc/apache2/sites-available/default

Buscamos las lineas que digan:

AllowOverride None

Y las cambiamos todas por:

AllowOverride All

De forma tal que permitimos la reescritura de las URLs; ahora reiniciamos Apache con la siguiente instrucción:

/etc/init.d/apache2 restart

o

service httpd stop service httpd start

Validando el funcionamiento del MOD_REWRITE

Para probar que la activación del módulo rewrite a funcionado; nos creamos un archivo .htaccess en la raíz de nuestro servidor; el archivo .htaccess, esta formado por reglas basadas en expresiones regulares; las cuales Apache procesará. En este ejemplo haremos un redirección utilizando una sencilla regla; copiamos las siguientes líneas en el .htaccess.

RewriteEngine On RewriteRule prueba.html http://www.google.com [R]

Nos creamos un documento HTML de prueba en la raíz de nuestro servidor; no hace falta que tenga ningún contenido, lo llamaremos prueba.html.

Colocamos la siguiente URL <nuestro-host>/prueba.html en nuestro navegador.

En donde <nuestro-host> es el servidor en donde estamos trabajando; si el mismo es nuestra máquina; será localhost.

Si todo va bien Apache nos habrá redirigido a la página principal de Google.

¿Qué es lo que hemos hecho?

Para contestar esta pregunta debemos explicaremos las reglas contenidas en el .htaccess:

  • La primera linea "encendemos" o permitimos la reescritura.
  • La segunda y última línea estamos creando una regla con RewriteRule en donde le indicamos que cuando "encuentre" prueba.html desde la raíz, nos redirige a google.com; por último la bandera [R] Fuerza a redireccionar a una URL externa una URL proveniente de nuestro servidor o interna en nuestro servidor.

Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.

Conozca nuestros cursos sobre Laravel, CodeIgniter, Flutter, Electron, Django, Flask y muchos más!

Ver los cursos
¡Hazte afiliado en Gumroad!

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
!Web Alojada en Hostinger!