Sandra: Wie alle Zugriffe auf "alte" Webpräsenz abfangen?

Guten Morgen!

Ich hätte gerne mal ein Problem...

Ich habe eine Webpräsenz erneuert, die "alte" liegt in www.domain.de/01/ , die neue unter www.domain.de/02/ . Nun habe ich die im Root liegende index.php so geändert, dass sie (per header) auf das neue Verzeichnis zeigt. Die alte Index.php im Verzeichnis /01/ habe ich vorsichtshalber auch mit ein header versehen und leite somit Direktzugriffe auf die /01/index.php auf /02/index.php um.

Das alles funktioniert gut. Nur möchte ich gerne gaaaanz sicher gehen dass evtl. alte Direkt-Bookmarks auch abgefangen werden:

"Alle Aufrufe unterhalb des Verzeichnisses /01/ auf /02/index.php umleiten"

Geht das evtl. mit Rewrite und htaccess?  kenne mich damit leider nur wenig aus.

Danke!

lG
Sandra

  1. Hallo,

    Geht das evtl. mit Rewrite und htaccess?

    Ja, Du könntest alle anfragen (außer Anfragen direkt an index.php) an index.php weiterleiten. Das könnte so aussehen (.htaccess):

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !^.*index.php$ [NC]
    RewriteRule ^(.*)$ index.php

    In dieser index.php, könntest Du dann $_SERVER['REDIRECT_URL'] abfragen und auswerten. Wurde z.B. http://www.example.com/01/foobar.html angefordert, sollte in $_SERVER['REDIRECT_URL'] "foobar.html" stehen. Das kannst Du dann auswerten (if/else, swich) und entsprechend weiterleiten (z.B. mit einem 301er-Status):

    header("Status: 301 Moved Permanently");  
    header("Location: ".$new_url);
    

    Ale×

    1. Danke Alex,
      aber die Variante von Hansel reicht eigentlich, da ich nicht´s wirklich auswerten muss...

      lG Sandra

  2. Ich habe eine Webpräsenz erneuert, die "alte" liegt in www.domain.de/01/ , die neue unter www.domain.de/02/ .

    Warum beginnt das Angebot nicht da, wo es immer beginnt und logisch hingehört, im Wurzelverzeichnis?

    "Alle Aufrufe unterhalb des Verzeichnisses /01/ auf /02/index.php umleiten"

    Geht das evtl. mit Rewrite und htaccess?  kenne mich damit leider nur wenig aus.

    mod_rewrite ist für sowas übertrieben. Schreibe in /01/.htaccess die Zeile

    RedirectPermanent /01 /02

    1. RedirectPermanent /01 /02

      Das war´s! Danke Hansel!
      lG Sandra