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 las imá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.

CompartirTweet about this on TwitterShare on TumblrShare on FacebookShare on LinkedInShare on Google+Email this to someone

Tags ; , , , , , ,

1 comentario

    Anderson Ene 18, 2012

    Muchas gracias por el post me sirvió mucho. Pero tengo un problema, ya puedo acceder a las imágenes gracias a !.(jpe?g?|png|gif|css) [NC] , sin embargo no he podido acceder a las fuentes (estoy usando en el CSS @font-face), ya intenté agregando las extensiones de las fuentes !.(ttf|eot|svg|woff) Pero no funciona..

    Hay alguna forma de “desproteger” todo un Folder completo, y así poder acceder a los archivos dentro de este(independiente de la extensión).

    Un saludo y espero que me puedas ayudar.

    Responder

Escribe un comentario

Los comentarios son moderados y se utiliza rel="nofollow" para los enlaces.