Alex: "Wartungsarbeiten" automatisch - .htaccess

Hallo alle miteinander,

im Moment handhabe ich es auf meiner Seite so, dass ich manuell den (normalerweise) auskommentierten "Wartungsarbeiten"-Teil meiner .htacces-Datei freischalte und meine IP-Adresse eintrage, um das System in den Wartungsarbeiten Modus zu leiten.

Erklärung: Wenn User mit einer Fremden IP auf meine Seite kommen werden sie sofort auf www.example.com/wartungsarbeiten weitergeleitet.
Mit meiner IP kann ich die Seite ganz normal nutzen...

Jetzt wollte ich das ganze in meine Administration einbauen, dass sich das per Knopfdruck erledigen lässt.
Dabei dachte ich mir es wäre praktisch, wenn ich 2 .htaccess Dateien haben könnte. Die eine nur mit dem Wartungsarbeiten Inhalt und die andere mit dem Rest.

Es soll also - sofern verfügbar - zB eine .htaccess_wartungsarbeiten vor der .htaccess ausgeführt werden.

Klar könnte ich es auch in eine Packen und diese dann automatisch bearbeiten lassen, aber irgendie hab ich angst, dass da mal was schief geht und der - wichtige - Rest futsch ist.

Gibt es irgend so eine "include" Möglichkeit?

Danke für eure Hilfe
Alex

  1. Gibt es irgend so eine "include" Möglichkeit?

    Nur innerhalb der httpd.conf, nicht in der .htaccess.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Guten Tag,

      Nur innerhalb der httpd.conf, nicht in der .htaccess.

      Oder in einer anderen, bereits inkludierten Datei.

      Gruß
      Christoph Jeschke

      --
      Zend Certified Engineer
      Certified Urchin Admin
  2. Moin!

    Jetzt wollte ich das ganze in meine Administration einbauen, dass sich das per Knopfdruck erledigen lässt.
    Dabei dachte ich mir es wäre praktisch, wenn ich 2 .htaccess Dateien haben könnte. Die eine nur mit dem Wartungsarbeiten Inhalt und die andere mit dem Rest.

    Es soll also - sofern verfügbar - zB eine .htaccess_wartungsarbeiten vor der .htaccess ausgeführt werden.

    Wenn du zwei komplette .htaccess-Dateien erstellst, und jeweils nach Lage der Dinge die gewünschte Datei kopierst in ".htaccess", dann wäre das die einfachste denkbare Methode. Das Erstellen einer Dateikopie ist außerdem ein atomarer Prozess, sollte also kaum zu Problemen führen.

    Weil du die Originaldateien unverändert lässt, geht dir eigentlich auch nichts kaputt.

    Klar könnte ich es auch in eine Packen und diese dann automatisch bearbeiten lassen, aber irgendie hab ich angst, dass da mal was schief geht und der - wichtige - Rest futsch ist.

    Gibt es irgend so eine "include" Möglichkeit?

    Die nächste denkbare Alternative wäre, z.B. eine Rewrite-Rule das Vorhandensein einer Datei prüfen zu lassen und in Abhängigkeit vom Ergebnis eine Verzweigung in der Behandlung des Requests zu nehmen. Dein Admin-Interface erzeugt und löscht dann einfach nur noch diese eine Datei, der Rest der Anweisungen bleibt konstant in der .htaccess drin.

    - Sven Rautenberg

    1. Moin Moin!

      Das Erstellen einer Dateikopie ist außerdem ein atomarer Prozess

      Nein, ist es nicht. Umbenennen einer Datei ist auf vielen Unix-artigen Systemen atomar, aber kopieren definitiv nicht.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  3. Guten Tag,

    Es gibt zwar kein Include in der .htaccess, jedoch könntest du eine Umgebungsvariable setzen, wenn deine Seite in den Wartungsmodus gehen soll. In der bestehenden .htaccess kannst du dann z.B. einen Rewrite-Block einfügen, der nur dann alle Requests auf die Wartungsseite weiterleitet, wenn die Umgebungsvariable existiert oder mit einem bestimmten Wert befüllt ist.

    Gruß
    Christoph Jeschke

    --
    Zend Certified Engineer
    Certified Urchin Admin
    1. Hallo,

      das hört sich ja interessant an.

      Habe jetzt mal eine Zeit lang gesucht.
      Das Einzige, was ich finden kann ist die PHP-Funktion putenv(), mit der ich eine Umgebungsvariable setzen kann.

      Aber die ist ja nach der Ausführung des Skriptes nicht mehr vorhanden.
      Wie kann ich die denn auf Dauer setzen?

      Gruß
      Alex