25 votos

¿Cómo puedo devolver un estado 503 en apache sin invocar scripts externos

Necesito devolver un código de estado 503 de uno de mis sitios, mientras se a tareas de mantenimiento, en el tiempo honrado SE_firendly de la moda. Me parece que no puede averiguar cómo hacer esto sin invocar scripts externos, que prefiero evitar.

Hay una directiva de apache que me permitirá volver arbitraria de código de estado HTTP sin necesidad de recurrir a hacks como invocar un script php que establece el estado de la cabecera?

30voto

Deano Puntos 691

Esto sirve cada solicitud estática de la celebración de la página junto con el estado 503.

RedirectMatch 503 ^/(?!holding\.html)
ErrorDocument 503 /holding.html
Header always set Retry-After "18000"

RedirectMatch se utiliza para negar la celebración de la página en sí, que de otro modo crearía un bucle infinito.

mod_header se utiliza para establecer un Retry-Después de la cabecera, de modo que usted puede decirle a Google/otros bots etc que debe hacer una copia de seguridad después de 18000 segundos (5 horas) en este ejemplo. Usted puede sudo ap2enmod header a activar mod_header (que es necesaria para el Encabezado de la directiva).

7voto

David Pashley Puntos 17011

Trate de

Redirect 503 / /

De http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect :

Otros códigos de estado puede ser devuelto por dar el número de código de estado como el valor de estado. Si el estado es de entre 300 y 399, el argumento URL debe estar presente, de lo contrario debe ser omitido. Tenga en cuenta que el estado debe ser conocido por el Apache de código (consulte la función send_error_response en http_protocol.c).

Nota adicional: se mostrará el valor predeterminado/configurado ErrorDocument para el Error 503.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: