StGaensler
17.02.2008, 01:19
Hallo,
nachdem ich da verschiedene Vorgehensweisen (von Passwortschutz über Fehlermeldungen, ...) gesehen habe, und auch darauf angesprochen wurde, wie wir das denn auf unseren Servern erledigen, kam mir die Idee, diese Anleitung zu schreiben.
Eins vorweg: Wie wir das hier auf den Servern lösen, kann ich nicht genau sagen - das das ist ein Server-Cluster mit Loadbalancer, aber die technischen Voraussetzungen sind auf nem Standard Webhoster nicht gegeben ;)
Also, zuerst brauchen wir eine schöne Fehlerseite. Ein Beispiel (das gerne bearbeitet und verwendet werden darf) befindet sich hier: 6164
6163
Diese Datei wird nun einfach im Hauptverzeichnis des Webspaces abgelegt.
Nun sorgen wir für die Weiterleitung auf diese Wartungsseite. Dazu legen wir ebenfalls im Hauptverzeichnis eine Datei mit dem Namen .htaccess an (der Punkt am Anfang ist wichtig!), und schreiben dort folgenden Code hinein. Falls solch eine Datei bereits besteht, fügen wir die Code-Zeilen einfach am Anfang der Datei ein.RewriteEngine On
#RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
RewriteCond %{REQUEST_URI} !^/robots\.txt$ [NC]
RewriteCond %{REQUEST_URI} !^/wartungsarbeiten\.php$ [NC]
RewriteRule ^.*$ http://example.net/wartungsarbeiten.php [R=307,L]Dabei müssen folgende Stellen ausgebessert werden:
127.0.0.1 - Dort muss die eigene (externe) IP-Adresse eingetragen werden. Diese steht z.B. auf http://www.ip-adresse.net/
example.net - dort muss die eigene Domain eingetragen werden.
Der Code sorgt dafür, dass auf unserer Seite nur noch die robots.txt (für die Suchmaschinen) und die wartungsarbeiten.php aufgerufen werden kann. Alle anderen Anfragen werden auf die wartungsarbeiten.php weitergeleitet. Dies geschieht durch eine temporäre Weiterleitung (HTTP-Statuscode 307), dadurch wissen die Suchmaschinen, dass die Seite später wieder online kommt, und nehmen diese Wartungs-Seite nicht in ihren Index auf - das wollen wir ja nicht :)
Nun testen wir das, und rufen irgendeine Seite auf unserer Domain auf. Dann sollten wir (ohne Fehlermeldung von wegen Umleitungslimit!) auf die Wartungsarbeiten-Seite weitergeleitet werden, und diese angezeigt bekommen. Wenn das funktioniert, dann entfernen wir in der zweiten Zeile das #, und können nun wieder auf unsere Webseite zugreifen. Das können allerdings nur wir - also nicht vergessen, nach Ende der Wartungsarbeiten die .htaccess-Datei wieder zu entfernen, bzw. alle Zeilen mit einem # auszukommentieren.
Wenn noch weiteren Admins Zugriff gewährt werden soll, dann einfach die Zeile mit der IP beliebig oft wiederholen.
Ich hoffe, ein wenig weitergeholfen zu haben.
Viele Grüße,
Stefan
nachdem ich da verschiedene Vorgehensweisen (von Passwortschutz über Fehlermeldungen, ...) gesehen habe, und auch darauf angesprochen wurde, wie wir das denn auf unseren Servern erledigen, kam mir die Idee, diese Anleitung zu schreiben.
Eins vorweg: Wie wir das hier auf den Servern lösen, kann ich nicht genau sagen - das das ist ein Server-Cluster mit Loadbalancer, aber die technischen Voraussetzungen sind auf nem Standard Webhoster nicht gegeben ;)
Also, zuerst brauchen wir eine schöne Fehlerseite. Ein Beispiel (das gerne bearbeitet und verwendet werden darf) befindet sich hier: 6164
6163
Diese Datei wird nun einfach im Hauptverzeichnis des Webspaces abgelegt.
Nun sorgen wir für die Weiterleitung auf diese Wartungsseite. Dazu legen wir ebenfalls im Hauptverzeichnis eine Datei mit dem Namen .htaccess an (der Punkt am Anfang ist wichtig!), und schreiben dort folgenden Code hinein. Falls solch eine Datei bereits besteht, fügen wir die Code-Zeilen einfach am Anfang der Datei ein.RewriteEngine On
#RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
RewriteCond %{REQUEST_URI} !^/robots\.txt$ [NC]
RewriteCond %{REQUEST_URI} !^/wartungsarbeiten\.php$ [NC]
RewriteRule ^.*$ http://example.net/wartungsarbeiten.php [R=307,L]Dabei müssen folgende Stellen ausgebessert werden:
127.0.0.1 - Dort muss die eigene (externe) IP-Adresse eingetragen werden. Diese steht z.B. auf http://www.ip-adresse.net/
example.net - dort muss die eigene Domain eingetragen werden.
Der Code sorgt dafür, dass auf unserer Seite nur noch die robots.txt (für die Suchmaschinen) und die wartungsarbeiten.php aufgerufen werden kann. Alle anderen Anfragen werden auf die wartungsarbeiten.php weitergeleitet. Dies geschieht durch eine temporäre Weiterleitung (HTTP-Statuscode 307), dadurch wissen die Suchmaschinen, dass die Seite später wieder online kommt, und nehmen diese Wartungs-Seite nicht in ihren Index auf - das wollen wir ja nicht :)
Nun testen wir das, und rufen irgendeine Seite auf unserer Domain auf. Dann sollten wir (ohne Fehlermeldung von wegen Umleitungslimit!) auf die Wartungsarbeiten-Seite weitergeleitet werden, und diese angezeigt bekommen. Wenn das funktioniert, dann entfernen wir in der zweiten Zeile das #, und können nun wieder auf unsere Webseite zugreifen. Das können allerdings nur wir - also nicht vergessen, nach Ende der Wartungsarbeiten die .htaccess-Datei wieder zu entfernen, bzw. alle Zeilen mit einem # auszukommentieren.
Wenn noch weiteren Admins Zugriff gewährt werden soll, dann einfach die Zeile mit der IP beliebig oft wiederholen.
Ich hoffe, ein wenig weitergeholfen zu haben.
Viele Grüße,
Stefan