Andy: Umleitung wenn Verzeichnis aufgerufen wird

Hallo an alle Forum-Leser,

ich möchte Besucher meiner Page auf eine bestimmte Seite umleiten, wenn Sie auf ein bestimmtes Verzeichnis zugreifen.

Hintergrund: es handelt sich um Dateien aus einem alten Forum und ich möchte die "Quereinsteiger" auf das neue Forum verweisen.

Ich habe mal im Archiv gekramt, ob sowas mit der .htaccess geht, wie z. B. die 404-Fehler-Umleitung. Ich habe leider nichts finden können. Könnt Ihr mir da eventuell weiterhelfen?

Danke

Andy

  1. Hi,

    ich möchte Besucher meiner Page auf eine bestimmte Seite umleiten, wenn Sie auf ein bestimmtes Verzeichnis zugreifen.

    Ich habe mal im Archiv gekramt, ob sowas mit der .htaccess geht, wie z. B. die 404-Fehler-Umleitung. Ich habe leider nichts finden können. Könnt Ihr mir da eventuell weiterhelfen?

    das geht mit mod_rewrite (http://www.apache.org/docs/mod/mod_rewrite.html), und zwar auch in der .htaccess, falls es Dein Provider zuläßt. Ich lasse Dich jetzt einfach mal mit

    RewriteEngine On
    RewriteRule ...

    stehen, damit ich Dir nichts falsches erzähle :-) aber im Zweifel frag einfach noch mal mit genaueren Angaben nach.

    Cheatah

  2. Hallo Andy,

    du kennst doch bestimmt das hier:

    <META http-equiv="refresh" content="0;URL=http://www.url.com/">

    Damit erzwingst du eine sofortige Umleitung auf die angegebene URL.

    Du kannst in deinem Verzeichnis eine index.html damit anlegen, damit werden schon mal alle umgeleitet, die direkt auf das Verzeichnis zugreifen.
    Dann gibt es auch immer irgendow eine missing.html oder 404.html oder wie auch immer die error Seite auf deinem Server eingestellt wird. In die kannst du auch so eine Umleitung reinstellen und die Dateien aus deinem Verzeichnis löschen, dann werden alle die versuchen auf eine Datei in dem Verzeichnis zuzugreifen (die ja nicht mehr existiert) laufen sie alle in die 404 Seite rein und werden automatisch umgeleitet.
    Ist vielleicht nicht so richtig elegant...aber hey es funktioniert.

    Gruß
    Cruz

    1. <META http-equiv="refresh" content="0;URL=http://www.url.com/">
      Damit erzwingst du eine sofortige Umleitung auf die angegebene URL.
      Du kannst in deinem Verzeichnis eine index.html damit anlegen, damit werden schon mal alle umgeleitet, die direkt auf das Verzeichnis zugreifen.
      Dann gibt es auch immer irgendow eine missing.html oder 404.html oder wie auch immer die error Seite auf deinem Server eingestellt wird. In die kannst du auch so eine Umleitung reinstellen und die Dateien aus deinem Verzeichnis löschen, dann werden alle die versuchen auf eine Datei in dem Verzeichnis zuzugreifen (die ja nicht mehr existiert) laufen sie alle in die 404 Seite rein und werden automatisch umgeleitet.

      ... und das kombinieren wird noch schnell mit einer 404-Handler-Definition in der .htaccess:
          http://www.apache.de/docs/mod/core.html#errordocument
      und schon brauchst Du dieses Dokument nur noch ein einziges Mal für den gesamten (ehemaligen) Dokumentbaum, den Du umleiten willst.

      Eine weitere Alternative hierzu oder zu mod_rewrite wäre es, den 404-Handler durch ein CGI-Skript zu realisieren, welches einen HTTP-Header mit einer Location:-Zeile generiert.
      Es kommt halt immer darauf an, welche features Dir der Webserver erlaubt und welche nicht.

      mod_rewrite ist "voodoo", wie die entsprechende Beschreibung genüßlich erzählt, aber wohl die eleganteste Lösung des Problems.
      Der CGI-Handler erfordert eben CGI-Berechtigung; die META-REFRESH-Methode hat den Nachteil, daß erst mal das Umleitungsdokument zum Browser geschickt werden und dieser dann das eigentlich Dokument anfordern muß.