Door te controleren of het semafoorbestand maintenance.enable in de documentroot van de site bestaat, kunnen we de onderhoudsmodus aan- en uitzetten. Staat het bestand maintenance.enable in de documentroot, dan is de onderhoudsmodus actief. Zo niet, dan is die uitgeschakeld.
Configuratie
Voeg de volgende regels aan je VirtualHost toe om bezoekers naar de onderhoudspagina te sturen:
RewriteEngine On
# to prevent redirection from listed IP
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4
# Check for the maintenance.enable file
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
#Don’t apply the rule when serving the maintenance page
RewriteCond %{SCRIPT_FILENAME} !maintenancepage.html
#The 503 redirect to maintenance page itself
RewriteRule ^.*$ /maintenancepage.html [R=503,L]
#Custom 503 Service Unavailable page because it is overloaded or down for maintenance
ErrorDocument 503 /maintenancepage.html
#Avoid caching
Header Set Cache-Control “max-age=0, no-store”
Herlaad Apache eenmalig om de nieuwe instellingen toe te passen:
apachectl graceful
Vanaf nu zet je de onderhoudsmodus AAN en UIT met het bestand maintenance.enable, zonder Apache te herstarten.