La versión oldschool, sacamos el sitio de publicación o apuntamos el virtualhost a una carpeta diferente donde hay un index.html con el mensaje… pero … es suficiente ? No!
Hoy en día los buscadores web como Google indexan todo el sitio, y cualquier visitante puede llegar a consultar por una página especifica y no necesariamente la raíz del sitio, por lo que nuestra solución revienta. También relacionado con los buscadores, pueden pasar a indexarnos nuevamente, y no va a haber contenido, por lo que borrarían los links a páginas que nos interesan mantener.
Otro caso, es por ejemplo correos… de notificaciones, foros, etc… siempre está el link especifico al foro… otro caso donde revienta como sapo… acá la solución para Apache.
1 2 3 4 5 6 7 8 9 10 11 |
RewriteEngine On RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000 RewriteCond %{DOCUMENT_ROOT}/mantenimiento.html -f RewriteCond %{DOCUMENT_ROOT}/mantenimiento.enable -f RewriteCond %{SCRIPT_FILENAME} !mantenimiento.html RewriteRule ^.*$ /mantenimiento.html [R=503,L] ErrorDocument 503 /mantenimiento.html Header Set Cache-Control "max-age=0, no-store" Header always set Retry-After "18000" |
Primero que nada, debemos tener una página para recibir … que yo la bautice mantenimiento.html pero pueden llamarlo como les gusta, y segundo hay un archivo.. que sirve de «flag» para saber si esta en mantenimiento… que en mi caso es mantenimiento.enable este ultimo, con solo borrarlo el contenido vuelve a estar público.
Algo no menos interesante, es que uno puede definir la IP desde donde está trabajando, para uno si poder ver el contenido correctamente.
Este .htaccess necesita tener los modulos mod_headers y mod_rewrite funcionando, y por supuesto tener el flag allow_overwrite en true en la configuración del virtualhost.
Sean felices.