Redirecciones con htaccess mientras actualizas

Cuando tenemos una web con php y múltiples páginas dinámicas puede ser un incordio re direccionar cuando estás de mantenimiento o actualizando la web, una forma muy sencilla es hacerlo mediante el archivo htaccess del servidor web apache, veamos el código y luego lo explico:

DirectoryIndex construction.html
RewriteEngine on
RewriteCond %{REQUEST_URI} !/construction.html$
RewriteCond %{REQUEST_URI} !/ajax/get_hours.php$
RewriteCond %{REMOTE_HOST} !^0\.0\.0\.0
RewriteCond %{REMOTE_HOST} !^localhost
RewriteRule ^.*\.(php|html)$ http://domain/construction.html [R=302,L]

En la primera línea le estoy diciendo que si acceden a mi web solo con el dominio, mi página principal es la de la redirección.

En la tercera y cuarta digo las páginas para las cuales no se va a aplicar la redirección, la línea 4 es una página en php que llamo por ajax para el calculo de la hora en GMT y tener un contador en la web que me diga según el uso horario del usuario cuanto falta para cargar la web. El contador utilizo jquery y el pluging epiclock.

La quinta pongo las IPs que no quiero que se redirecciones y la sexta para poder hacer pruebas en local.

La última línea le digo que todo lo que llegue con extensiones php o HTML (podemos agregar más, separándolas con el símbolo |) sea redireccionado a mi página, es muy importante poner el dominio y http sino te redirecciona a directorios internos.

Esta última línea especifico los tipos de ficheros porque sino no cargarían las imágenes, los css y los js que necesito en mi pantalla de mantenimiento.

De esta forma ya podemos redireccionar a una página web de mantenimiento con htaccess.

Comentarios