Apache Wartungsseite schalten

Jede Webseite will einmal gewartet werden. Damit die Besucher nicht über halbfertige Seiten stolpern oder auf Fehlermeldungen stoßen, bietet es sich dabei an eine Wartungsseite zu schalten, sofern der Webserver weiterlaufen kann. Beim Apache HTTP Server gibt es dazu eine elegante Lösung mittels Rewrite.

Wenn eine Wartung ansteht, will man ja nicht ständig eine Wartungsseite erstellen, .htaccess-Dateien hochladen oder die Apache-Konfiguration ändern müssen. Eleganter ist es, den Apache die Existenz einer lokalen Datei prüfen zu lassen. Ist diese vorhanden, so wird auf eine Wartungsseite umgeleitet. Diese Konfiguration kann entweder direkt in der site-Konfiguration (unter /etc/apache2/sites-available/) oder z.B. in einer .htaccess-Datei abgelegt werden.


RewriteEngine on
# Wartung
RewriteCond /var/www/wartung.txt -f
RewriteCond %{REQUEST_URI} !^/(wartung)/
RewriteRule ^(.+) /wartung/wartung.html [L]

Damit wird geprüft ob /var/www/wartung.txt vorhanden ist und ob eine Seite außerhalb des wartung-Verzeichnisses aufgerufen wird, wenn ja, dann wird auf die relative URL /wartung/wartung.html umgeschrieben. Die wartung.txt kann man z.B. von einem Skript erzeugen lassen, von einem Cronjob oder auch per SCP/FTP o.ä. von einem anderen Rechner hochkopieren.

Schreibe einen Kommentar