Joerg: [apache] Umleitung aller Anfragen auf EINE Seite?

Hi,

WasWieWo muss ich bei apache einrichten, damit saemtliche Anfragen, die fuer _irgendeine_ Seite auf diesem Server reinkommen, auf eine bestimmte Seite umgeleitet werden?

Hintergrund: ich will/muss demnaechst einen unserer apache-server neu aufsetzen (mit "server" meine ich hier hard- & software). Da der Server doch einiges an traffic hat, moechte ich waehrend dieser "Bauarbeiten" eine Seite in der Art von "This server is currently offline for maintenance" zeigen (... jaja, ich weiss, das erinnert an "diese Seite ist leer" ;-).

Das prinzipielle Vorgehen ist schon klar: Server runterfahren und gleichzeitig einen Rechner online bringen, der dieselbe IP hat und als index.html das besagte "Baustellenschild" zeigt.

Das Problem sind aber die Zugriffe auf die Unterseiten. Welches rewrite (oder redirect oder was auch immer ;-) brauche ich auf dem Server, damit *alle* Zugriffe auf diesen server auf dieses eine index.html umgeleitet werden, egal wo sie liegen?

Danke fuer alle Tips, die ueber "rtfm" hinausgehen ;-)

  • Joerg
  1. Ich kann dir zwar nicht genau bei dem helfen, was du willst - aber du könntest als Workaround eine eigene 404 Seite erstellen....

    1. hi,

      Ich kann dir zwar nicht genau bei dem helfen, was du willst

      Dann laß es lieber. Die Frage ist allerdings auch etwas ungenau formuliert:

      WasWieWo muss ich bei apache einrichten, damit saemtliche Anfragen, die fuer _irgendeine_ Seite auf diesem Server reinkommen, auf eine bestimmte Seite umgeleitet werden?

      Wenn hier "irgendeine" Seite gleichbedeutend damit ist, daß damit auch immer dieselbe Domain gemeint ist, ist die ganze Geschichte relativ einfach mit mod_rewrite zu lösen  -  eventuell reicht sogar bereits eine einfache Weiterleitung im Header mit "refresh"

      • aber du könntest als Workaround eine eigene 404 Seite erstellen...

      Das könnte er tun, hilft aber nicht weiter. Wenn der Rechner heruntergefahren wird, ist dann diese Fehlerseite ja auch nicht mehr erreichbar.

      Prinzipiell sollte alle Zappelei mit einer wie auch immer gearteten "Umleitung" völlig überflüssig sein, da ja gilt:

      Das prinzipielle Vorgehen ist schon klar: Server runterfahren und gleichzeitig einen Rechner online bringen, der dieselbe IP hat

      Warum soll dieser "neue Rechner" nicht gleich das gesamte Webangebot hosten? Man hat doch in einer Firma immer so einen "Backup-Rechner" parat, und der kann problemlos zwischenzeitlich mal die Serveraufgaben vollständig übernehmen, ein "Baustellenschild" ist gar nicht nötig.

      Grüße aus Berlin

      Christoph S.

      1. Hi,

        WasWieWo muss ich bei apache einrichten, damit saemtliche Anfragen, die fuer _irgendeine_ Seite auf diesem Server reinkommen, auf eine bestimmte Seite umgeleitet werden?
        Wenn hier "irgendeine" Seite gleichbedeutend damit ist, daß damit auch immer dieselbe Domain gemeint ist, ist die ganze Geschichte relativ einfach mit mod_rewrite zu lösen

        Yes. Sagte ich doch: "irgendeine Seite auf diesem Server" ;-)

        ... wenn Du das "relativ einfach" jetzt noch etwas praezisieren koenntest, waere mir fast schon geholfen ;-)

        -  eventuell reicht sogar bereits eine einfache Weiterleitung im
        Header mit "refresh"

        Nein. Dazu muesste ich erst saemtliche html- und php-Seiten auf diesem Server durchforsten, und genau das will ich vermeiden.

        Warum soll dieser "neue Rechner" nicht gleich das gesamte Webangebot hosten? Man hat doch in einer Firma immer so einen "Backup-Rechner" parat, und der kann problemlos zwischenzeitlich mal die Serveraufgaben vollständig übernehmen,

        Ganz so problemlos nicht, denn auf dem server laufen diverse Datenbanken etc. bei denen ebenfalls die Version gewechselt wird - und ich moechte z.B. ungern zwischen zwei verschiedenen Versionen von MySQL synchronisieren muessen ;-)

        Gruss aus Lausanne,

        • Joerg
        1. hi,

          Warum soll dieser "neue Rechner" nicht gleich das gesamte Webangebot hosten? Man hat doch in einer Firma immer so einen "Backup-Rechner" parat, und der kann problemlos zwischenzeitlich mal die Serveraufgaben vollständig übernehmen,
          Ganz so problemlos nicht, denn auf dem server laufen diverse Datenbanken etc. bei denen ebenfalls die Version gewechselt wird - und ich moechte z.B. ungern zwischen zwei verschiedenen Versionen von MySQL synchronisieren muessen ;-)

          Doch. Es sollte doch kein Problem sein, auf dem "neuen Rechner", der ja nur temporär die Serveraufgaben übernimmt, die "alten" Datenbanken noch ein Weilchen weiterzunutzen. Du hast damit alle Freiheiten, deine Datenbanken umzurüsten, und wenn der "alte" Server-Rechner wieder online geht, sind dann eben auch die Datenbanken auf neue Versionen umgestellt. Zum Austesten kannst du den "alten" Rechner in ein Subnetz hängen, auf das nur du als Administrator Zugang hast.

          Gruss aus Lausanne

          oha, soll ja ein hübsches Städtchen sein ;-)

          Grüße aus Berlin

          Christoph S.

          1. Hi,

            Doch.

            ... gut, meinetwegen. Aber um auf das Thema zurueckzukommen: wie lautet denn nun die rewrite-clause fuer Apache, um das zu machen, was in der Titelzeile dieses postings steht?

            Gruss aus Lausanne

            oha, soll ja ein hübsches Städtchen sein ;-)

            Oh ja, das isses :-)

            • Joerg
            1. hi,

              Aber um auf das Thema zurueckzukommen: wie lautet denn nun die rewrite-clause fuer Apache, um das zu machen, was in der Titelzeile dieses postings steht?

              die dürfte derart trivial sein, dass du das auch selber herausfinden kannst, in dem du mal ein blick in die apache-doku wirfst.

              gruß,
              wahsaga

              --
              "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
              1. Hallo wahsaga,

                die dürfte derart trivial sein, dass du das auch selber herausfinden kannst, in dem du
                mal ein blick in die apache-doku wirfst.

                </faq/#Q-23>

                Grüße,
                 CK

                --
                Sein oder nicht sein, das ist hier die Frage!
                http://wwwtech.de/
      2. Hallo Christoph,

        • aber du könntest als Workaround eine eigene 404 Seite erstellen...

        Das könnte er tun, hilft aber nicht weiter. Wenn der Rechner heruntergefahren wird, ist dann diese Fehlerseite ja auch nicht mehr erreichbar.

        Natürlich nicht auf dem Rechner der runtergefahren wird.

        Grüße aus München (hier regnets)
        Sinepp

        P.s.: Nicht so unfreundlich bitte, Christoph. Selbst wenn man mal jemanden nicht direkt helfen kann, dann gibts ja immer noch die indirekte Hilfe.

        1. hallo,

          P.s.: Nicht so unfreundlich bitte, Christoph.

          Ich bin nicht unfreundlich

          Selbst wenn man mal jemanden nicht direkt helfen kann, dann gibts ja immer noch die indirekte Hilfe.

          Was du geschrieben hattest, war aber keine indirekte Hilfe.

          Grüße aus Berlin

          Christoph S.

          1. Was du geschrieben hattest, war aber keine indirekte Hilfe.

            Dann wars halt ne direkte.

            1. hallo Sinepp,

              Was du geschrieben hattest, war aber keine indirekte Hilfe.
              Dann wars halt ne direkte.

              Nein, das wars in diesem Fall auch nicht. Wenn du eine Antwort so einleitest: " Ich kann dir zwar nicht genau bei dem helfen, was du willst" und dann einen nicht wirklich durchdachten Vorschlag folgen läßt, ist das weder direkt noch indirekt eine Hilfe.

              Versteh mich nicht falsch, aber mir ist heute mittag/nachmittag _auch_ aufgefallen, daß du relativ häufig auf Fragestellungen Anderer geantwortet hast  -  und in fast allen Fällen hast du zumindest ein bißchen mit deinem Rat danebengelegen.

              Du hast selbstverständlich wie jeder andere jedes Recht, zu schreiben, was dir als richtig erscheint, und du hast ebenfalls wie jeder andere ein Recht auf einen gelegentlichen Irrtum. Dazu sind wir ja schließlich in einem Forum. Aber das Forum ist auch kein Chat, in dem spätestens in Minutenabstand der nächste Beitrag zu erwarten ist und man auch mal eine Stunde lang heftig hin- und herdiskutieren kann. Es lohnt sich schon, ein bißchen schärfer zu überlegen, wenn man auf ein posting eingehen und antworten möchte.

              Grüße aus Berlin

              Christoph S.

  2. Hallo Joerg,

    Welches rewrite (oder redirect oder was auch immer ;-) brauche ich auf dem Server, damit *alle* Zugriffe auf diesen server auf dieses eine index.html umgeleitet werden, egal wo sie liegen?

    ich habe mir für das bevorstehende Update von http://www.fh-nuernberg.de/wt/ eine kleine Umleitung gebastelt:
      RewriteEngine On
      RewriteCond %{REQUEST_URI} !^/wt/src
      RewriteCond %{REMOTE_ADDR} !^192.168.100.99$
      RewriteRule (.*) temp.html  [L,QSA]
    Damit werden alle Zugriffe auf ein temp.html umgeleitet (nur die Zugriffe auf das Verzeichnis in dem Bilder und CSS-Dateien liegen nicht). In der dritten Zeile kann ich dann meine IP eintragen um die Seiten testen zu können, bevor ich sie freischalte. Die Idee stammt übrigends aus dem Archiv, mehr zu dem Verwendeten Code findest du in http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html und http://httpd.apache.org/docs-2.0/misc/rewriteguide.html.

    Grüße aus Nürnberg
    Tobias

    1. Hi,

      ich habe mir für das bevorstehende Update von http://www.fh-nuernberg.de/wt/ eine kleine Umleitung gebastelt:
        RewriteEngine On
        RewriteCond %{REQUEST_URI} !^/wt/src
        RewriteCond %{REMOTE_ADDR} !^192.168.100.99$
        RewriteRule (.*) temp.html  [L,QSA]

      Daaanke, genau sowas hab ich gesucht (und nicht gefunden, auch wenn manch einer behauptet, dass das doch alles soooo trivial sei ;-)

      Gruss & Merci,

      • Joerg