oli-nux
Goto Top

Besucher per .htcaccess umleiten

mod_rewrite Umleitung

Hallo,

wie kann man eine bestimmte, statische IP, welche desöfteren eine Webseite besucht, auf eine bestimmte Seite der Webseite umleiten?
Dieser Besucher soll nur eine bestimmte Seite sehen die extra für ihn angelegt wurde und nichts anderes.

Ich habe schon gesehen, dass dies mit mod_rewrite gehen soll, aber ich bekomme es nicht hin.face-sad

Eine generelle IP-Sperre dieses Besuchers kommt nicht in betracht, wie man IP's per .htaccess sperrt ist mir bekannt!

Content-ID: 188841

Url: https://administrator.de/contentid/188841

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

lexa-lexa
lexa-lexa 30.07.2012 um 19:20:46 Uhr
Goto Top
danielfr
danielfr 30.07.2012 um 20:04:21 Uhr
Goto Top
zu gut... lies doch den Beitrag noch mal durch:
"Eine generelle IP-Sperre dieses Besuchers kommt nicht in betracht, wie man IP's per .htaccess sperrt ist mir bekannt!"
lexa-lexa
lexa-lexa 30.07.2012 um 20:18:16 Uhr
Goto Top
Zitat von @danielfr:
zu gut... lies doch den Beitrag noch mal durch:

Witz komm raus face-sad

Vielleicht solltest du deine Frage nochmal durchlesen:

"wie kann man eine bestimmte, statische IP, welche desöfteren eine Webseite besucht, auf eine bestimmte Seite der Webseite umleiten?"

RewriteCond %{REMOTE_ADDR} ^(A\.B\.C\.D)$
RewriteRule ^/* http://www.domain.com/sorry.html [L]

Ist es so schwer, zwei Zeilen zu lesen?
Oli-nux
Oli-nux 30.07.2012 um 22:07:19 Uhr
Goto Top
Probiere ich das mit meiner IP dann bekomme ich:
"Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann."
face-sad

Ich leite auf eine *.php weiter, das sollte aber egal sein oder?

Die Syntax habe ich schon hier gesehen:
http://blog.kulturbanause.de/2011/03/fremde-ip-adressen-per-htaccess-um ...

Ich habe folgendes in meiner .htaccess:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^(A\.B\.C\.D)$ #mit meiner IP!
RewriteRule ^/* http://www.meine-domain.de/meine-datei.php [L]

Darüber stehen zwar noch andere Anweisungen, aber so wie ich das verstanden habe muss "RewriteEngine on" erst da stehen wo auch der Befehl für mod_rewrite anfängt.
lexa-lexa
lexa-lexa 30.07.2012 um 22:33:39 Uhr
Goto Top
Die Weiterleitung darf natürlich nicht im Kreis laufen. Du rufst die Seite example.com auf und wirst auf example.com weitergeleitet, wo sofort wieder die Weiterleitung greift, da du ja immer mit derselben IP kommst ... loop.

Abhilfe:
Wenn die .htaccess im DocumentRoot liegt ist das problematisch. Leite in dem Fall auf eine Subdomain "sub1.example.com" oder einen anderen Server um.

Ob dort ein HTML oder PHP liegt ist egal. Du kannst auch zu example.de ohne Dokumentangabe umleiten.
danielfr
danielfr 30.07.2012 aktualisiert um 23:26:41 Uhr
Goto Top
@lexa-lexa
Zitat von @lexa-lexa:
> Zitat von @danielfr:
> ----
OK, sorry und mea culpa.

RewriteCond %{REMOTE_ADDR} ^(A\.B\.C\.D)$
RewriteRule ^/* http://www.domain.com/sorry.html [L]

Ist es so schwer, zwei Zeilen zu lesen?
Manchmal face-sad
Habe nur "Block a specific IP Adress gelesen"...
Du hast ja recht.
Gruß Daniel
Oli-nux
Oli-nux 01.08.2012 um 19:46:25 Uhr
Goto Top
Zitat von @lexa-lexa:
Die Weiterleitung darf natürlich nicht im Kreis laufen. Du rufst die Seite example.com auf und wirst auf example.com
weitergeleitet, wo sofort wieder die Weiterleitung greift, da du ja immer mit derselben IP kommst ... loop.

Abhilfe:
Wenn die .htaccess im DocumentRoot liegt ist das problematisch. Leite in dem Fall auf eine Subdomain "sub1.example.com"
oder einen anderen Server um.

Ob dort ein HTML oder PHP liegt ist egal. Du kannst auch zu example.de ohne Dokumentangabe umleiten.

Mit Subdomian scheint es zu funktionieren. face-smile
Am Wochenende werde ich das wohl nochmal näher testen. face-wink
Oli-nux
Oli-nux 04.08.2012 um 20:06:46 Uhr
Goto Top
Also ich habe das nochmal mit der Subdomain probiert.....

Ich habe 2 Domains und 1 Webspace auf dem beide unterscheidliche Webseiten liegen.
Die eine liegt direkt im Root, die andere in einem Unterordner (da die erst später dazu kam).
Beide haben jeweils eine .htaccess!

Ändere ich nur die .htaccess in dem Unterordner, für die eine Seite, dann klappt die Weiterleitung zur Subdomain.face-smile
Ändere ich dann auch noch die .htaccess im Root (mit angepasster Subdomain), dann klappt die Weiterleitung nicht mehr und es kommt wieder der Umleitungsfehler (siehe oben).face-sad

Kann es daran liegen, weil die Subdomain auf einen Ordner im Root-Verzeichnis zeigt und daher der Code für die andere Domain falsch ist?
Evtl. ist der .* (für die andere Domain) schuld?

Nochmal zur Verdeutlichung:
html
|->index.html (webseite 1)
lexa-lexa
lexa-lexa 06.08.2012 um 14:35:06 Uhr
Goto Top
Hi,

der DocumentRoot (Apache) der Subdomain sollte sich nicht im DocumentRoot der Domain befinden, das macht die Sache unnötig kompliziert, da der Apache umkonfiguriert werden muss, in einer Weise, wie man's eigentlich nicht machen sollte face-wink

Das Problem bei dir ist wahrscheinlich die .htaccess im DocumentRoot der Domain, die sich natürlich auch auf sämtliche Unterordner auswirkt, was normal und gewollt ist, denn sonst müsste man z.B. für Verzeichnissperren in allen Unterordnern eine .htaccess anlegen.

Lege für jede Domain bzw. Subdomain ein eigenes DocRoot an:

html (Webspace Hauptordner)
|
|----site1 (Apache DocumentRoot für domain1)
|-------- .htaccess (mit weiterleitung auf domain2 bzw. subdomain document "weiterleitung.php")
|-------- index.html (webseite 1)
|
|----site2 (Apache DocumentRoot für domain2 od. subdomain)
|-------- index.html (webseite 2)
|-------- weiterleitung.php

PS: Kann man hier im Forum keinen Code-Bereich formatieren?
Oli-nux
Oli-nux 10.08.2012 um 11:25:16 Uhr
Goto Top
Muss ich laut deiner Aussage dann Änderungen am Apache vornehmen???

Unterordner für beide Domains könnte ich erstellen, die eine Domain ist ja seit Anfang an in einem Unterorder auf dem Webspace.face-wink
Die Frage ist nur, ob Google & Co. mit der Indexierung irgendwelche Probleme haben?

Natürlich müsste ich die eine Domain noch für den Unterordner einrichten, was kein Problem wäre.face-wink
lexa-lexa
lexa-lexa 17.08.2012 um 16:23:43 Uhr
Goto Top
Zitat von @Oli-nux:
Muss ich laut deiner Aussage dann Änderungen am Apache vornehmen???

Ja! Wie? Direkt oder indirekt, kommt drauf an, wie du dein Web gehostet hast:

Bei "normalem" Webspace kannst du ja die entsprechenden Root-Ordner im Confixx oder Plesk passend konfigurieren. Du legst eine Subdomain an und weist ihr den Root-Ordner zu. Selbiges ist ja mit der Hauptdomain bereits geschehen. Dann wird die Apache Config umgeschrieben (von Plesk) und der Apache neu gestartet.

Hast du einen Root Server, musst du die virtuellen Hosts u.U. zu Fuss konfigurieren.

Die Frage ist nur, ob Google & Co. mit der Indexierung irgendwelche Probleme haben?

Haben sie nicht, wenn die Sites gefunden werden. Also anmelden und/oder massig verlinken. Fragt sich nur, ob die umgeleitete Subdomain wirklich gefunden werden soll.
Oli-nux
Oli-nux 17.08.2012 um 19:04:30 Uhr
Goto Top
Root Server habe ich keinen face-wink, also sollte das kein Problem für mich sein.
Schließlich habe ich die eine Domain auch entsprechend eingerichtet.

Ja, sollen beide Domains in Google & Co. gefunden werden. face-smile
Oli-nux
Oli-nux 18.08.2012 um 12:34:39 Uhr
Goto Top
Hat anscheinend super funktioniert!face-smile
Habe heute, nachdem ich alle Dateien für die 1. Domain in einen Unterordner geschoben habe, diese eine Domain auch in den Unterordner weitergeleitet und nochmal beide Domains mit meiner IP getestet und Ergebnis ist, dass ich dann jeweils entsprechend umgeleitet werde (wie gewünscht).
Danach meine IP wieder durch die des Besuchers ersetzt, welcher auf die andere Seite weitergeleitet werden soll.face-wink

Bei mir sieht es so aus:
|
|---site 1 (Domain 1)
|-----.htaccess
|-----html-Dateien etc.
|
|---site 2 (Domain 2)
|-----.htaccess
|-----.html-Dateien etc.
|
|---Umleitungsordner
|-----weiterleitung.php