Publicidad
Icons

Blog

Hardware, software, cacharreo...
  • Inicio
    Inicio Aquí es donde puedes encontrar todas las publicaciones del blog.
  • Etiquetas
    Etiquetas Muestra una lista de etiquetas que se han usado en el blog.
  • Bloggers
    Bloggers Busca a tu blogger preferido.

Bloquear todas las páginas por mantenimiento mediante htaccess

por
  • Tamaño de fuente: Mayor Menor

 Son muchas las veces que queremos realizar un mantenimiento en nuestra web. A veces, nos limitamos a transformar nuestro archivo index (ya sea php, html, asp,…) pero hay una gran pregunta: ¿y si alguien accede a otra ruta de nuestra página?.

 

Este “bloqueo” solo se produciría si el usuario entra en nuestro index, por ejemplo, http://www.gavea.es se encontraría en “mantenimiento” pero ¿si accede a http://www.gavea.es/contacto.php ?,  la respuesta es que NO, ya que solo se produce una modificación de la página principal.

Pues bien, se puede realizar un “bloqueo” general en todas las páginas, para ello debemos retocar el archivo .htaccess o si no estuviera creado, lo desarrollamos nosotros.

Este modo de redireccionamiento es mediante el sistema 301, navegando por la red, se ven millones de formas, pero generalmente el código es para redireccionar a otro servidor, no a la redirección por archivos o por carpetas.

 

Empezamos:

 

Para ello, debemos acceder vía FTP al servidor (muchos hosting gratuitos no permiten acceder al htaccess general, pero sí la creación de uno que funcione como filtro).

Una vez dentro del servidor, nos descargamos el fichero “.htaccess” y lo modificamos, si no está creado, basta con abrir el “Bloc de notas” (debe ser código en texto plano) y cuando lo guardamos debe tener el nombre .htaccess y debe ser tipo txt.

Ponemos el siguiente código:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REQUEST_HOST} ^(.*)$

RewriteCond %{REQUEST_URI} !^/mantenimiento.php

RewriteRule ^.*$ "mantenimiento.php"

 

*Nota: este código redirrecciona a mantenimiento.php, pero podría ser cualquier extensión como html, asp,…

 

Explicamos código línea a línea:

<IfModule mod_rewrite.c> : bajo esta línea introducimos el código para que se ejecute.

RewriteEngine On : habilitamos el modo “rewrite”

RewriteCond %{REQUEST_HOST} ^(.*)$ : Aquí le decimos que TODO lo que se escriba dentro de ese hosting, se actúe sobre él

RewriteCond %{REQUEST_URI} !^/mantenimiento.php: Y aquí añadimos como excepción la página de mantenimiento, si no añadimos esta excepción, se producirá un bucle de redireccionamieto, es decir, se vuelve loco

RewriteRule ^.*$ "mantenimiento.php": y aquí le ponemos donde queremos que vaya.

 

Muchas veces al crear una página de mantenimiento, se suele hacer una imagen que ponga “En obras” para que esa imagen se cargue (con la configuración anterior no lo haría) debemos permitirla en este archivo, para ello ponemos el mismo código anterior, pero debemos añadir otra excepción, quedaría así:

 

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REQUEST_HOST} ^(.*)$

RewriteCond %{REQUEST_URI} !^/mantenimiento.php

RewriteCond %{REQUEST_URI} !^/img/Mantenimiento.jpg

RewriteRule ^.*$ "mantenimiento.php"

 

Donde añadimos esta línea:

RewriteCond %{REQUEST_URI} !^/img/Mantenimiento.jpg

En la que la imagen mantenimiento.jpg se añadiría como excepción y cargaría en la página, en este caso, la imagen está en la carpeta img, pero si fuese otro nombre, bastaría con introducir la ruta, ejemplo /imágenes,  /images, …

 

El código final, sería este:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REQUEST_HOST} ^(.*)$

RewriteCond %{REQUEST_URI} !^/mantenimiento.php

RewriteCond %{REQUEST_URI} !^/img/Mantenimiento.jpg

RewriteRule ^.*$ "mantenimiento.php"

 

Etiquetado en: htaccess Web
en Blog gavea.es Visitas: 1096 4 Comentarios
Calificar el artículo:

Amante de las nuevas tecnologías, el desarrollo, la programación... en definitiva, un amante de todo lo que hace que un producto se convierta en una herramienta útil para los usuarios. 

Comentarios

  • Invitado
    fede Domingo, 22 Junio 2014

    Hola Ruben,
    creo haber leido que se pueden activar las paginas SSI mediante un .htaccess ¿sabes algo de eso?

    Gracias, saludos:D

  • Invitado
    fede Lunes, 23 Junio 2014

    no me funciona el codigo :( ¿como activas el .htaccess en el httpd.conf?

  • Invitado
    Rubén - gaVea.es Martes, 01 Julio 2014

    Buenos días Fede, se pueden activar pero para ello en primer lugar debes tener el certificado SSL en vigor (si no saltará un mensaje de fallo en seguridad) y tu hosting debe poder soportar dicho certiicado, los hostings baratos no lo admiten y los alojados en servidores Linux también suelen dar bastantes problemas.

  • Invitado
    Rubén - gaVea.es Martes, 01 Julio 2014

    ¿Tienes htaccess?, en caso de no tenerlo, basta con crear un txt

Deja tu comentario

Invitado Viernes, 15 Diciembre 2017
Publicidad
Publicidad
Sky Bet Bonuses by http://bettingy.com/ £30 Free Bets

Esta web utiliza 'cookies' propias y de terceros para ofrecerte una mejor experiencia y obtener estadísticas de visita o usar el sistema de comentarios. Al navegar o utilizar esta web aceptas el uso que hacemos de las 'cookies'. Más información.

Acepto las cookies de este sitio.

EU Cookie Directive Module Information