jueves, 1 de octubre de 2015

Poner un sitio web en mantenimiento con htaccess para los visitantes y poder seguir trabajando como administrador del sitio

Muy buen artículo para poner un sitio web en mantenimiento con htaccess para los visitantes mientras podemos seguir trabajando como administrador del sitio para ponerlo a punto.

Redireccionar a página de mantenimiento con htaccess, manteniendo los estilos css y las imágenes

NOVIEMBRE 12, 2011
Si vamos a realizar cambios en nuestra web y se tratan de cambios que pueden afectar al funcionamiento de la página (cambios en la base de datos, cambio de funcionalidades, etc), lo ideal es redirigir a una página de mantenimiento para informar a los usuarios mientras se realizan los cambios. En este caso lo vamos a hacer editando el archivo .htaccess y dando permiso a nuestra ip para acceder a la web normalmente y poder ver los cambios. El resto de usuarios verán la página de mantenimiento a la que les redirigiremos.
1
2
3
4
5
6
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REMOTE_ADDR} !^999.999.999.999
 RewriteCond %{REQUEST_URI} !/mantenimiento.html$ [NC]
 RewriteRule .* /mantenimiento.html [R=302,L]
</IfModule>
En la línea 3, cambiaremos la ip por la nuestra propia para poder acceder normalmente.
La línea 4 indica que no redirija si ya estamos en la página de mantenimiento (para evitar un bucle infinito).
Y en la línea 5 indicamos la ruta de la propia página de mantenimiento con una redirección 302 (redirección temporal).
Hasta aquí todo bien. El problema es que desde la página de mantenimiento no podemos acceder a lasimágenes o estilos css porque también se ejecuta la redirección. Para evitar esto, añadiremos una línea más al código anterior:
1
2
3
4
5
6
7
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REMOTE_ADDR} !^999.999.999.999
 RewriteCond %{REQUEST_URI} !/mantenimiento.html$ [NC]
 RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif|css) [NC]
 RewriteRule .* /mantenimiento.html [R=302,L]
</IfModule>
Ahora todo debería funcionar correctamente. Cuando hayamos terminado de hacer los cambios, solo tendremos que comentar las líneas anteriores.

No hay comentarios:

Publicar un comentario

Jesús Moreno - Ingeniero Ténico Informático - consultor Informático

Hola, soy Jesús Moreno Ingeniero Técnico Informático en sistemas por la US y propietario de éste blog. Mi trabajo en los ultimos años se ...