Fremde IP-Adressen per .htaccess umleiten

Ab und zu ist man als Webdesigner gezwungen eine Seite gründlich zu überarbeiten. Wie Ihr höchst wahrscheinlich mitbekommen habt, trifft das auch auf diese Seite hier zu und so habe ich vor einigen Tagen ein Relaunch durchgeführt. So ein Relaunch ist natürlich immer mit gewissen Risiken verbunden – denn auch wenn alles noch so gut geplant und vorbereitet wurde – schief gehen kann immer etwas.
Damit die Ausfälle möglichst gering sind und Seitenbesucher sowie Suchmaschinen-Bots (!) während des Umzugs keine toten Links vorfinden empfiehlt es sich fremde IP-Adressen auf eine alternative Seite umzuleiten. Dafür nutzen wir einen 302-Redirect per .htaccess.

Was ist eigentlich ein Redirect 302?

Das Umleiten von Adressen kann zur schwerwiegenden und unwiderruflichen Fehlern im Suchmaschinen-Ranking führen. Aus diesem Grund möchte ich kurz den Unterschied zwischen einem 301 und einem 302-Redirect erklären. Der 301-Redirect ist in unserem Beispiel irrelevant – da es aber häufig zu wirklich üblen Fehlern kommt, muss ich ein wenig ausholen.

Beide Arten des Redirect leiten eine URL auf eine andere Webadresse um. Entscheidend ist was in den Suchmaschinen passiert. Während der 301 Redirect eine URL dauerhaft durch eine andere URL ersetzt dient der 302 Redirect dazu eine Adresse nur temporär umzuleiten. In diesem Fall sind beide Adressen gültig. Bei Verständnis hilft auch der offizielle HTTP-Status-Code:

Wenn Ihr die Besucher während der Wartungsarbeiten an Eurem Blog nun also auf eine alternative Seite umleiten möchtet, so muss hier unbedingt der 302 Redirect gewählt werden. Ansonsten zerstört Ihr ggf. Suchmaschinen-Links dauerhaft.

Fremde IP-Adressen umleiten

Eine einfache Möglichkeit fremde Besucher umzuleiten ist eine Auswahl über die IP-Adresse. Dafür müsst Ihr zunächst die eigene IP kennen; anschließend werden alle anderen Besucher umgeleitet. Eure eigene IP-Adresse erfahrt ihr zum Beispiel hier:

Nun müsst Ihr die .htaccess bearbeiten. Diese Datei befindet sich im Root (Stammverzeichnis) Eurer Website.
Wenn Ihr bisher keine .htaccess nutzt, so erstellt mit einem Texteditor eine unformatierte neue Datei und nennt diese .htaccess. In diese Datei fügt Ihr nun den nachfolgenden Code ein.

.htaccess-Dateien können je nach Betriebssystem ausgeblendet werden. Stellt also zunächst sicher, dass Ihr alle versteckten Dateien im System seht.

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond %{REQUEST_URI} !/wartung.html$ [NC]
 RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /wartung.html [R=302,L]
</IfModule>

Achtet darauf sowohl die IP-Adresse in Zeile 3 als auch das Ziel der Weiterleitung in Zeile 4 und 6 anzupassen!

Mehrere IP-Adressen erlauben

Wenn mehrere IP-Adressen auf die Seite Zugriff haben sollen – also beispielsweise Ihr und der Kunde – so hilft Euch folgender Code weiter. In diesem Fall findet keine Weiterleitung statt. Es wird der Status 403 (Forbidden) auf eine alternative Adresse umgeleitet.

<Limit GET POST PUT>
 order deny,allow
 deny from all
 allow from 123.456.789
 allow from 123.456.789
</LIMIT>
ErrorDocument 403 /wartung.html
<Files wartung.html>
 order allow,deny
 allow from all
</Files>

Geschrieben von Jonas

Benutzerbild

Jonas ist Gründer der Agentur kulturbanause und des kulturbanause Blogs. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Xing

Feedback & Ergänzungen – 7 Kommentare

  1. Rene
    schrieb am 03.03.2014 um 13:21 Uhr:

    Hi,

    gibt’s denn auch eine Möglichkeit eine bestimmte IP Adresse auf einen bestimmten Ordner umzuleiten und alle anderen IP Adressen auf einen anderen ordner umzuleiten?

    danke lg

    Antworten
    • Axel
      schrieb am 16.11.2016 um 06:45 Uhr:

      Würde mich auch interessieren. Leider schlugen einige Tests fehl :-(

      Mein Gedanke: statt einer 403-Meldung lieber auf eine bestimmte Datei lenken.
      Alle IP’s bis auf einem Land werden geblockt, leider klappt es ja nur mit der 403 statt einer eigenen.

      Antworten
  2. Sebastian
    schrieb am 21.05.2013 um 11:42 Uhr:

    Danke für den Tipp. Gleich umgesetzt

    Antworten
  3. dirkn
    schrieb am 30.07.2012 um 20:43 Uhr:

    …Es wird der Status 403 (Not Found) … sollte heissen 403 (Forbidden)!?

    Antworten
    • Jonas Hellwig
      schrieb am 31.07.2012 um 14:29 Uhr:

      Du hast Recht, das war natürlich falsch im Beitrag. Ich habe es aktualisiert. Vielen Dank für die Info.

      Antworten
  4. Samuel
    schrieb am 07.03.2012 um 14:05 Uhr:

    Funktioniert bei mir leider nicht ganz.
    Es werden zwar anfragen von Rechnern die nicht die eingetragene IP auf die richtige Seite weitergeleitet, kann ich selbst nicht auf die Seite die sich im Wartungsmodus befindet zugreifen. Folgende Fehlermeldung: „Forbidden

    You don’t have permission to access / on this server.“

    Eine Idee was ich falsch mache?

    Antworten
  5. Andre
    schrieb am 27.05.2011 um 09:40 Uhr:

    Perfekt! Nie mehr ein ungutes Gefühl, wenn man die Daten Live stellt.
    Hast mir mal wieder sehr geholfen :)

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →