Introducción
Apache es un servidor web, el más utilizado en los sistemas operativos Linux. Apache es un servidor web modular donde cada funcionalidad se basa en módulos específicos. Para agregar o eliminar cualquier funcionalidad específica al servidor Apache, simplemente podemos habilitar o deshabilitar el módulo correspondiente.
El módulo "mod_rewrite " de Apache es capaz de crear direcciones estáticas optimizadas para motores de búsqueda y estándares web. Utiliza un motor de reescritura centrado en reglas, basado en un analizador de expresiones regulares PCRE, para reescribir URL. De forma predeterminada, mod_rewrite asigna una URL a una ruta del sistema de archivos. Sin embargo, también se puede utilizar para redirigir una URL a otra URL o para invocar un proxy interno.
mod_rewrite proporciona una forma flexible y poderosa de manipular URL utilizando un número ilimitado de reglas. Cada regla puede tener un número ilimitado de condiciones de regla asociadas, lo que le permite reescribir la URL en función de las variables del servidor, las variables de entorno, los encabezados HTTP o las marcas de tiempo.
mod_rewrite opera en la ruta URL completa, incluida la sección de información de ruta. Las reglas de reescritura se pueden escribir en el archivo httpd.conf o en .htaccess.
Habilite el módulo de reescritura
La forma más sencilla de habilitar los módulos del servidor web Apache 2 es usar el comando a2enmod. Habilitamos el módulo de reescritura de Apache, use el siguiente comando.
sudo a2enmod rewrite
Reinicie Apache para que los cambios surtan efecto:
sudo service apache2 reload
Deshabilitar el módulo de reescritura
Del mismo modo, para deshabilitar el módulo usamos el comando a2dismod. Por ejemplo, si necesita deshabilitar el módulo de reescritura de Apache, use el siguiente comando.
sudo a2dismod rewrite
Reinicie Apache para que los cambios surtan efecto:
sudo service apache2 reload
Verificar el estado de Rewrite
Para verificar el estado del módulo específico, use el comando a2query. Por ejemplo, para verificar el estado actual del módulo de reescritura, ejecute el siguiente comando:
sudo a2query -m rewrite
Puede recibir un mensaje de salida similar al siguiente:
rewrite (enabled by site administrator)
Lista de módulos Apache2
Para enumerar todos los módulos de Apache2 disponibles y su estado específico, use el siguiente comando.
sudo a2query -m
Conclusión
En este tutorial, hemos visto cómo habilitar y deshabilitar el módulo Apache 2 Rewrite en Ubuntu 18.04 LTS, los comandos descritos deberían funcionar para la mayoría de los módulos Apache y en todas las distribuciones recientes y derivadas de Ubuntu.