xmanoel@


Bloquear / Desbloquear o site

Hoy se me bloqueo la base de datos justo cuando estaba visitando el site la Araña de Yahoo! (no se si estarán relacionados anbos hechos): resultado, me comenzaron a llegar mensajes de error continuamente.

Entonces se me ocurrió así a prisa y corriendo definir un sistema para que en casos como este (o cuando esté haciendo cambios en el site) poder desactivar el acceso al mismo: redirigir todo el tráfico a una página web de aviso, sin que llegue el tráfico al resto del site.

Lo hice de una manera megacutrísima usando el mod_rewrite:

Crear un fichero HTML estático y ponerlo en el directorio raiz de la web

En mi caso yo lo llamé 404.html (aunque stricto sensu no es un fichero de 404)

Editar el .htaccess


    # Defino que no haya redirecciones para estos ficheros (es que tengo un montón de reglas luego)
    RewriteRule imagen-graciosa.jpg - [L]
    RewriteRule 404.html - [L]

    # PARA CUANDO SE PARA EL SERVIDOR:
    # hacer 'touch DOWN' en este directorio
    # y se le devolverá a todos la página de aviso
    # cuando se termine 'rm DOWN' y todo de nuevo funcionando
    RewriteCond %{DOCUMENT_ROOT}/DOWN -f
    RewriteRule ^(.*)$ 404.html [L]

Cutre e sencillote, pero bueno, por si a alguno le parece interesante la idea. De esta manera se puede desactivar y activar un site usando un fichero como flag (si existe el fichero se para el trafico, si no existe, pues entonces todo viento en popa). (La idea la saque del Passanger que usan en Ruby On Rails).

[23 August 2011]

También: