Comment mettre le site Apache sur 503 "temporary down"?
RFC2616, 503 Service non disponible
le serveur est actuellement incapable de traiter la requête en raison d'une surcharge temporaire ou maintenance du serveur
comment configurer Apache 2.2 pour servir du code 503 virtualhost basé sur un nom particulier avec une page HTML personnalisée?
3 réponses
Vous pouvez utiliser mod_rewrite:
RewriteEngine on
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule !^/down/for/maintenance$ %{DOCUMENT_ROOT}down/for/maintenance [L,R=503]
RewriteCond
la directive s'assure qu'aucune erreur interne supplémentaire ne se produit lors de la redirection vers un document d'erreur personnalisé.
503 temporairement indisponible, avec déclenchement
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteCond "/srv/www/example.com/maintenance.trigger" -f
RewriteRule ^(.*)$ / [R=503,L]
Si le maintenance.trigger
le fichier existe, Apache servira un 503 Service Unavailable
réponse. Pour créer une page personnalisée "down for maintenance", utilisez ErrorDocument
pour spécifier le fichier, comme ceci:
ErrorDocument 503 /503_with_cats.html
Profitez-en!
@temoto
pour spécifier un 503 pour les bots et une page de maintenance pour les humains, essayez
RewriteEngine on
RewriteBase /
#for bots such as google
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher|bingbot)-?(Google|Image)? [NC]
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule !^/down/for/maintenance$ %{DOCUMENT_ROOT}down/for/maintenance [L,R=503]
#for humans
RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1
RewriteCond %{REQUEST_URI} !^/maint.html [NC]
RewriteRule .* /maint.html [R=302,L]