Seite 1 von 1

Homepage deaktivieren (genauso wie im phpBB, aber für alles)

Verfasst: 07.02.2005 18:19
von Berndte
Hallo,

ich bräuchte eine Funktion, so wie sie im phpBB schon vorhanden ist.
Ich habe für meine Startseite schon eine Umschaltfunktion mittels PHP gebastelt, also kann ich ohne FTP-Zugriff auf eine Wartungsseite umschalten. Das geht aber (bis jetzt) nur auf der Startseite. www.opel4x4.de -> das Bildchen verschwindet und ein kleiner Text a la "Im Moment laufen gerade Wartungsarbeiten... blablabla".

Nur blöd, wenn der User jetzt eine Unterseite direkt ansurft, oder die alte Startseite noch im Cache liegt. Das Forum kann ich ja auch deaktivieren, aber wie stelle ich das an, dass "normale" html-Seiten auf die Wartungsseite umgeleitet werden? Diese html Seiten haben schon alle die endung .php vor langer Zeit bekommen, sind aber meist ohne PHP Funktionen.

Gibt es eine Möglichkeit das vielleicht mit einer HTACCESS zu lösen?
Schön wäre eine Umschaltfunktion mit dem Browser (passwortgesichert).

Eigentlich brauch ich nur die Idee, die Umsetzung dürfte dann schon klappen.

Danke schonmal

Gruss Bernd

PS.: wenn der Text wirr erscheint, fragt einfach nochmal nach ;)

Verfasst: 07.02.2005 18:43
von Blutgerinsel
Du willst irgendwie deine eigenen Error Seiten stimmts?

Na dann sende eine 404 Errorseite Wenn der Herr diese haben will. Natürlich als die erste Ausgabe....

Code: Alles auswählen

header("HTTP/1.0 404 Not Found");
Daneben sollte eine entsprechend ErrorDokument Direktive die Fehlermeldung individuell zusammenbauen lassen, d.h. Verzeichnisübergreifend oder speziell....

-> http://httpd.apache.org/docs-2.0/mod/co ... ordocument

Verfasst: 07.02.2005 19:22
von Berndte
nene, ne Errorseite ist das ja nicht gerade ;)

Die alten Seiten bleiben ja auf dem Space, wenn ich aber den Inhalt änder, dann will ich alle Zugriffe auf die vorhandenen Seiten auf eine Wartungsseite umleiten. Ganz einfach, damit meine Besucher keine fehlerhaften Seiten (weil grade gebastelt wird) angezeigt bekommen.

Verfasst: 07.02.2005 20:16
von Blutgerinsel
Berndte hat geschrieben:nene, ne Errorseite ist das ja nicht gerade ;)
Was dann?

Wenn ein bestimmtes Merkmal gesetzt wurde willst du auf eine andere Seite umleiten. Und wenn man das im Header abfrägt dann passiert was?

Natürlich ist eine reine Weiterleitung via Header() ohne Apache auch möglich...............

Verfasst: 07.02.2005 20:36
von QCO
Theoretisch kann man das was mit mod_rewrite drehen, allerdings bin ich beim Syntax nicht ganz sicher...
Als .htaccess ins Hauptverzeichnis:

Code: Alles auswählen

RewriteEngine on 
RewriteRule ^/(.*)    /bauarbeiten.html
Damit sollten alle Anfragen auf die Bauarbeitenseite weitergeleitet werden.

Verfasst: 07.02.2005 21:17
von Berndte
QCO hat geschrieben:Theoretisch kann man das was mit mod_rewrite drehen, allerdings bin ich beim Syntax nicht ganz sicher...
Als .htaccess ins Hauptverzeichnis:

Code: Alles auswählen

RewriteEngine on 
RewriteRule ^/(.*)    /bauarbeiten.html
Damit sollten alle Anfragen auf die Bauarbeitenseite weitergeleitet werden.
Das hört sich doch schonmal gut an. Muss ich diese HTACCESS dann in jeden Unterordner laden, oder genügt es diese im ROOT zu haben?

Die Idee ist ja ganz einfach, dass alle Seiten-Anforderungen in allen Unterverzeichnissen auf die Wartungsseite weitergeleitet werden. Klar, vielleicht kann man die error404-Seite dazu nehmen, haben wir uns wohl missverstanden. Aber dazu müsste ich ja in jeder Seite diese Zeile im Header ergänzen, oder wie?

Irgendwie will ich ja dann mittels PHP sowas wie einen Umschaltknopf machen, dieser kann ja dann zum Beispiel eine im Root befindliche save_htaccess.txt in eine .htaccess umbennenen. Welche dann ja zur Ausführung kommt. Ist dieser Gedankengang richtig. Ich möchte halt vermeiden eine irre Menge an "normalen" Seiten zu editieren um die Sache ans Laufen zu bekommen.

Verfasst: 07.02.2005 22:12
von Berndte
danke für die Tips! Funktioniert dank euch ;)

Inhalt meiner htaccess:

Code: Alles auswählen

ErrorDocument 403 /index_c.php
<Files index_c.php>
Order allow,deny
allow from all
</Files>
Order deny,allow
deny from all
index_c.php kann natürlich umbenannt und angepasst werden ;)

Gruss Bernd

EDIT:
*******

Gleich nochmal eine Frage:
Wie kann ich denn mehrere Dateien erlauben? Problem ist ja, dass meine "schalter.php" ja auch nicht mehr erreichbar ist und ich somit nicht mehr zurückschalten kann :oops: ... ausserdem hab ich noch eine Kleine Grafik in der Wartungsseite, welche ja auch nicht mehr angezeigt wird.

Lösung wäre, diese Dateien auf einen anderen Server auszulagern, muss aber irgendwie bequemer gehen ;)

Danke schonmal

Gruss Bernd

Verfasst: 08.02.2005 20:34
von Berndte
Habs! ;)

Code: Alles auswählen

ErrorDocument 403 /index_c.php 
<Files index_c.php> 
Order allow,deny 
allow from all 
</Files> 
Order deny,allow 
deny from all

<Files schalter.php> 
Order allow,deny 
allow from all 
</Files> 
Order deny,allow 
deny from all