El módulo mod_rewrite sirve para poder reescribir la URL del navegador de modo que no tenga por qué hacer referencia a archivos físicos del servidor, sino que nosotros podremos parsear y redirigir las peticiones a nuestro antojo a scripts personalizados que mostrarán el contenido de una base de datos o cualquier otra cosa que se nos ocurra.
Este módulo no estará activado por defecto en Apache tanto si lo instalamos a solas como si lo instalamos formando parte de WAMP o XAMPP, por lo que tendremos problemas a la hora de crear aplicaciones dinámicas o trabajar con frameworks de PHP o gestores de contenido como WordPress. Para cambiar la configuración deberemos hacer lo siguiente:
Abrir el archivo de configuración de Apache usando un editor de texto como el bloc de notas o notepad++. Este archivo se localiza en:
[directorio-de-apache]/conf/httpd.conf
O si utilizamos WAMP:
[directorio-de-wamp]\bin\apache\Apache2.4.4\conf\httpd.conf
Seguidamente buscamos dentro del archivo la siguiente línea:
#LoadModule rewrite_module modules/mod_rewrite.so
y eliminamos el símbolo ‘#‘ del inicio.
El último paso será buscar la línea «AllowOverride None» y reemplazarla por «AllowOverride All«. Es muy importante realizar ésto ya que no aparece en gran parte de los tutoriales que podáis encontrar y hasta dar con ello, los quebraderos de cabeza pueden ser enormes si es la primera vez que configuráis Apache.
Finalmente guardamos el archivo y reiniciamos el servidor para que los cambios tengan efecto.