Entwicklung und Datenbanken

Vorübergehende Wartungsseite mit .htaccess

Geprüft am 3 Min. Lesezeit .htaccess Weiterleitungen

Sie können eine Website mit der .htaccess vorübergehend in den Wartungsmodus versetzen und jede URL mit der Antwort 503 Service Unavailable beibehalten. So zeigen Sie an, dass die Nichtverfügbarkeit vorübergehend ist, ohne alle Seiten auf eine andere Adresse umzuleiten.

Die Seite vorbereiten

Legen Sie im öffentlichen Stammverzeichnis der Domain eine statische Datei mantenimiento.html an. So hängt sie weder von PHP noch von der Datenbank ab, die Sie gerade reparieren. Verwendet sie eigene Bilder oder CSS, legen Sie diese in mantenimiento-assets ab oder verwenden Sie Styles direkt im HTML.

Sichern Sie die ursprüngliche .htaccess und fügen Sie diesen Block vor den allgemeinen Regeln des CMS ein:

ErrorDocument 503 /mantenimiento.html

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{REMOTE_ADDR} !^192\.0\.2\.10$
RewriteCond %{REQUEST_URI} !^/mantenimiento\.html$ [NC]
RewriteCond %{REQUEST_URI} !^/mantenimiento-assets/ [NC]
RewriteCond %{REQUEST_URI} !^/robots\.txt$ [NC]
RewriteRule ^ - [R=503,L]

Ersetzen Sie example.com durch Ihre Domain, wobei die Punkte maskiert bleiben, und 192.0.2.10 durch die öffentliche IP, die weiterarbeiten darf. Das sind Beispielwerte. Wenn Sie weitere Hostnamen abdecken müssen, passen Sie den Geltungsbereich ausdrücklich an.

Die Wartungsseite, ihre Ressourcen und robots.txt bleiben erreichbar. Alles andere gibt 503 zurück, außer für die freigegebene IP. Wird die Website aus einem Unterordner ausgeliefert, passen Sie auch die Pfade der Ausnahmen und des Fehlerdokuments an.

Prüfen und beenden

Testen Sie von einer anderen als der freigegebenen Verbindung: Startseite und eine Unterseite müssen 503 zurückgeben und die Seite anzeigen. Prüfen Sie auch, ob ihre Ressourcen laden und ob Sie von Ihrer Verbindung aus weiterarbeiten können.

Gibt es einen Server- oder CDN-Cache, prüfen Sie die Antwort, die ein Besucher sieht; eine gespeicherte Kopie kann die Wartung verbergen oder danach bestehen bleiben. Veröffentlichen Sie die Wartungsseite nicht als 200-Antwort für alle URLs.

Entfernen Sie am Ende diesen Block, stellen Sie die üblichen Regeln wieder her und prüfen Sie die betroffenen Seiten, Formulare und den HTTP-Status. Lassen Sie die Wartung nur so lange wie nötig aktiv.

Wenn Sie einen Proxy verwenden

REMOTE_ADDR kann die IP des Proxys statt Ihrer eigenen enthalten. Prüfen Sie, wie der Server die IPs vertrauenswürdiger Proxys erkennt, bevor Sie diese Ausnahme verwenden; ersetzen Sie die Bedingung nicht durch einen Header, den der Besucher fälschen kann.

Können Sie Ihre Verbindung nicht zuverlässig erkennen, verwenden Sie den Wartungsmodus der Anwendung mit authentifiziertem Zugang oder vereinbaren Sie mit dem Support einen anderen Weg. Deaktivieren Sie den Proxy nicht nur, damit eine IP übereinstimmt.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.