Beitrag wurde zuletzt am aktualisiert

Alle Aufrufe auf Index-Seite umleiten

Redirect auf BaustellenseiteRedirect auf Baustellenseite

Stefanie Voss beschreibt in ihrem Artikel Unsichtbare Baustellen sehr anschaulich, dass man diese Art von Webinhalten eigentlich überhaupt nicht braucht und eigentlich niemand sie möchte. Eigentlich! Trotzdem kommen Kundenwünsche an mich heran, die „erst einmal alle Anfragen einfach auf die Startseite“ geleitet haben wollen, weil die „anderen Inhalte veraltet sind“ und „überarbeitet werden müssen“. Die Startseite ist dann oftmals wochenlang eine Baustellenseite, die über das baldige Vorhandensein der zu überarbeitenden Artikel informiert und der Besucher „doch gern später wieder einmal vorbei schauen sollte“.
Ich kann mir sehr gut vorstellen wie die Webseiten-Besucher Tag für Tag auf die Baustellen strömen und hoffen, dass nun endlich die neuen Informationen zur Verfügung stehen ;-)

Die richtige Vorgehensweise wäre sicherlich die veralteten Inhalte einfach zu aktualisieren und so lange sind eben die anderen Beiträge noch online. Ich kann mir nicht so recht erklären, wie 10, 20 oder 50 Artikel über Nacht so daneben liegen können, dass sie nun dringend abgeschalten werden müssen…

Gut, der Kunde möchte es so und ich bin mit meinen Argumenten nicht überzeugend genug! Wie schafft man es nun aber, dass alle Aufrufe einer Webseite auf die Starsteite bzw. auf die Baustellenseiten verweisen.

Umsetzung und Beschreibung der Weiterleitungsregel

Wieder einmal wird uns hier eine htaccess-Datei oder ein Eintrag direkt in die vhost.conf gute Dienste erweisen.

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.html$
RewriteRule ^(.*) http://www.baustelle.redirect301.de/index.html? [R=302,L]

Wenn der Aufruf nicht [highlight color=“yellow“]![/highlight] mit /index.html beginnt [highlight color=“ yellow“]^[/highlight] und endet [highlight color=“ yellow“]$[/highlight], dann leite [highlight color=“ yellow“]R[/highlight] alle Anfragen an die in der RewriteRule angebene vollständige URL weiter. Als Status habe ich mich hier für einen temporären Redirect [highlight color=“ yellow“]R=302[/highlight] entschieden. Parameter, die ggf. in der URL angegeben wurden, sollen nicht übernommen [highlight color=“ yellow“]?[/highlight] werden.

Wie auch immer diese URL nun aufgerufen wird – hier ein paar mögliche Beispiele von Links aus Google heraus:

  • baustelle.redirect301.de/alter-inhalt
  • baustelle.redirect301.de/index.php?id=123
  • baustelle.redirect301.de/seite-ist-veraltet.htm
  • baustelle.redirect301.de/alt/ganzalt/entsorgt.html

die Besucher landen immer auf der in der RewriteRule definierten Seite index.html. Ob diese Weiterleitungen den Status 301 oder 302 erhalten sollen wird dadurch entschieden, ob die besteheneden URLs demnächst mit den aktualisierten Inhalten wieder online gehen sollen bzw. ob diese künftig mit Redirects auf die neue URL-Struktur umgeleitet werden sollen.

Ausnahmen für diese Regel definieren

Natürlich ist die Methode noch ausbaufähig. So könnte ich mir vorstellen, dass parallel an den Seiteninhalten weiter gearbeitet werden soll. Wird sicherlich schwierig, denn jeder Aufruf führt ja zur Startseite. Es ließe sich die RewriteCondition beispielsweise durch eine zusätzlich Abfrage der Client-IP erweitern.

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.html$
RewriteCond %{REMOTE_ADDR} !^123\.45\.67\.89$
RewriteRule ^(.*) http://www.baustelle.redirect301.de/index.html? [R=302,L]

Wenn die IP-Adresse für erlaubte Zugriffe nicht die 123.45.67.89 ist, dann verfahre wie bereits beschrieben. Wird allerdings von dieser IP aus zugegriffen, dann ignoriere diese RewriteRule und zeige alle Inhalte. Die eigene öffentlich IP-Adresse bekommt man übrigens bei IP-Lookup angezeigt; bitte daran denken, dass diese IP bei vielen Internetnutzern meist nur für maximal 24 Stunden beibehalten wird.

5 Kommentare zu "Alle Aufrufe auf Index-Seite umleiten"

  1. danke danke, sehr guter tipp!

  2. prima, aber das mit der RewriteEngine ging bei mir nicht musste erst mal das Modul aktivieren, jetzt gehts doch – hoffe ich

  3. Wunderbarer Tipp, Danke.
    Wie könnte ich jetzt noch nur bestimmte Verzeichnisse inkl. aller Dateien und Unterverzeichnisse zur Root umleiten.
    Ich brauch das, weil ich meine Website in ein CMS überführt habe und die alten Seiten ja noch bei Google etc. gelistet sind.

    • Du meinst Dinge wie:
      www.example.org/thema/inhalt.html auf www.example.org/neue-seite oder so ähnlich? Gib mal ein, zwei Beispiele …

      Ich würde definitiv versuchen, so viele alte Links wie möglich auf die passenden neuen Links umzuleiten. Damit verlierst du praktisch kaum Punkte bei Google, Besucher landen weiterhin auf der richtigen Seite und alle sind happy.

Hinterlasse einen Kommentar

E-Mail Adresse wird nicht veröffentlicht.


*