Während man eine Webseite upgraded, sollten die Leute nicht darauf zugreifen können und stattdessen eine „Maintenance-Seite“ zu sehen bekommen.
Dies geht ganz einfach mittels einer .htaccess Daezi, welche im web-root der Webseite erstellt wird:
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_HOST} !10.1.1.10
RewriteRule $ /maintenance.html [R=302,L]
Dabei ist: 10.1.1.10 mit deiner eigenen IP zu ersetzten, damit du während dem upgrade immer noch auf die Seite Zugreifen kannst. 🙂
Nun erstellt man noch die Maintenance-Seite:
<HTML>
<HEAD>
<TITLE>Maintenance</TITLE>
</HEAD>
<BODY>
<H1>Down for Maintenance</H1>
This page is currently down for maintenance. Please come back later.
</BODY>
<HTML>
#RewriteEngine on
RewriteCond %{REMOTE_HOST} !10.1.1.10
RewriteRule $ http://maintenance.example.com/maintenance.html [R=302,L] |
Um dies zu Berwerkstelligen, kann man anstelle der maintenance.html eine maintenance.php Seite erstellen und oben folgenden Code einfügen:
$protocol = "HTTP/1.0"; if ( "HTTP/1.1" == $_SERVER["SERVER_PROTOCOL"] ) $protocol = "HTTP/1.1"; header( "$protocol 503 Service Unavailable", true, 503 ); header( "Retry-After: 3600" ); |
Die Angabe Retry-After gibt dabei die Zeit an in der die Seite wieder Verfügbar ist (hier: 3600 Sekunden = 1 Stunde).