
COMPROBAR QUE UN MÓDULO ESTÁ CARGADO EN APACHE
Hace poco hablé sobre los módulos de apache y en este post quiero explicar como comprobar que un módulo está cargado en apache.
Con ifmodule se consigue:
- Evitar errores: Si el módulo no está cargado, Apache ignora el bloque
sin generar un error, lo que es especialmente útil en entornos compartidos donde no controlas qué módulos están habilitados. - Portabilidad: Permite que el mismo archivo de configuración funcione en diferentes servidores con configuraciones distintas.
- Condicionalidad: Ejecuta configuraciones solo si el módulo está disponible, lo que facilita la compatibilidad.
Para realizar esta comprobación hay que usar IfModule y si el módulo está habilitado se ejecutará el código específico de ese módulo.
Ejemplo:
<IfModule rewrite_module>
RewriteEngine On
RewriteRule ^articulo/([0-9]+)/?$ index.php?id=$1 [L]
</IfModule>
En el ejemplo anterior se intenta habilitar la reescritura de URLs con "mod_rewrite" en un archivo ".htaccess:".
- Si mod_rewrite está cargado, Apache activará el motor de reescritura y aplicará la regla para redirigir URLs como articulo/123 a index.php?id=123.
- Si mod_rewrite no está habilitado, el bloque se ignora, y Apache no arrojará un error.
<IfModule !rewrite_module>
# Configuraciones alternativas si mod_rewrite no está disponible
ErrorDocument 404 /error.html
</IfModule>
En el ejemplo anterior se muestra una página de error. Compartir en twitter