Seite 1 von 1
Regulärer Ausdruck . htaccess
Verfasst: 22.02.2009, 23:54
von S.A. Media
Abend.
Irgendwie stehe ich auf Kriegsfuss mit den Reguläreren Ausdrücken, egal was ich schon versucht habe, es will nicht klappen.
Die Zeile v. .htaccess :
Wie muss ich diese Zeile syntaktisch richtig vollenden, damit hierbei alle Hotsnamen berücksichtigt werden welche diesen Teil (inklusive der beiden Punkte) in sich beinhalten:
Dies sollte dann bspw. bei den Hostnamen "crawl-123
.spamboot.com" oder "crawl.etc
.spamboot.asia" oder "crawl
.spamboot.kr.com" oder "cra-321-wl
.spamboot.org.tw" ... etc. greifen.
Danke schön
Gruss
S.A. Media
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Re: Regulärer Ausdruck . htaccess
Verfasst: 23.02.2009, 11:57
von Mork vom Ork
S.A. Media hat geschrieben:Wie muss ich diese Zeile syntaktisch richtig vollenden, damit hierbei alle Hotsnamen berücksichtigt werden welche diesen Teil (inklusive der beiden Punkte) in sich beinhalten:
Du musst lediglich die Punkte maskieren, da sie im Muster als Platzhalter für ein beliebiges Zeichen stehen.
RewriteCond %{REMOTE_HOST} \.spamboot\.
Dies schließt allerdings Domains ein, in denen .spamboot. woanders als an zweiter bzw. dritter Stelle erscheint, zB bla.spamboot.bla.fasel.duenn.sinn.com. Falls du die auch raushaben willst, wird's etwas komplizierter.
Re: Regulärer Ausdruck . htaccess
Verfasst: 23.02.2009, 16:46
von S.A. Media
Mork vom Ork hat geschrieben:RewriteCond %{REMOTE_HOST} \.spamboot\.
Danke. Leider klappt es immer noch nicht, da die Bedingung ja einfach nicht greift. Woran kann es liegen?
(Mod_rewrite wird ganz sicher vom Server unterstützt.)
Inhalt v. .htaccess
Code: Alles auswählen
RewriteEngine on
RewriteCond %{REMOTE_HOST} \.spamboot\.
RewriteRule ^(.*)$ http://www.abcd.tld/
Mork vom Ork hat geschrieben:Dies schließt allerdings Domains ein, in denen .spamboot. woanders als an zweiter bzw. dritter Stelle erscheint, zB bla.spamboot.bla.fasel.duenn.sinn.com. Falls du die auch raushaben willst, wird's etwas komplizierter.
An welcher Stelle .spamboot. vorkommt ist nebensächlich, es sollen alle Hostnamen die diesen "Ausdruck" enthalten gefiltert werden...
Gruss
S.A. Media
Verfasst: 23.02.2009, 17:06
von chris21
Hi,
bist Du auch sicher, dass REMOTE_HOST auf Deinem Server aufgelöst wird?
Bei mir z.B. löse ich diesen aufgrund von Performance Überlegungen nicht auf - damit kann er dann aber auch nicht für eine RewriteCond abgefragt werden.
Verfasst: 23.02.2009, 17:14
von S.A. Media
chris21 hat geschrieben:bist Du auch sicher, dass REMOTE_HOST auf Deinem Server aufgelöst wird?
Bei mir z.B. löse ich diesen aufgrund von Performance Überlegungen nicht auf - damit kann er dann aber auch nicht für eine RewriteCond abgefragt werden.
Daran habe ich auch schon gedacht...
Aber wie prüfe ich nun, ob der Hostname des Users auch in dem Moment bei .htaccess "ankommt"?
Und wenn doch nicht, wie erreiche ich dies (Shared-Hosting)?
Gruss
S.A. Media
Verfasst: 23.02.2009, 17:21
von chris21
Bei Shared Hosting wird es in der Regel ausgeschaltet sein - zuständig ist dafür die HostnameLookups Direktive im Apache Core, die nicht über .htaccess steuerbar ist.
Ob HostnameLookups auf on, off oder double gestellt ist, solltest Du z.B. einfach per PHP testen können:
Falls sie nicht gesetzt ist, wirst Du auf .htaccess Ebene nur über REMOTE_ADDR mit den IP-Adressen arbeiten können - oder über User Agents, falls die auffällig sind.
Verfasst: 23.02.2009, 17:41
von S.A. Media
chris21 hat geschrieben:Bei Shared Hosting wird es in der Regel ausgeschaltet sein - zuständig ist dafür die HostNameLookUps Direktive im Apache Core, die nicht über .htaccess steuerbar ist.
Ob HostNameLookUps auf on, off oder double gestellt ist, solltest Du z.B. einfach per PHP testen können:
Ja, danke Dir.
Der Server "sagt":
Code: Alles auswählen
Notice: Undefined index: REMOTE_HOST in /home/www/ ....
chris21 hat geschrieben:Falls sie nicht gesetzt ist, wirst Du auf .htaccess Ebene nur über REMOTE_ADDR mit den IP-Adressen arbeiten können - oder über User Agents, falls die auffällig sind.
Ja, ich verstehe. (:
Interessanterweise klappt es auf demselben Server mittels .htaccess aber tadellos:
Wie kommt es?
Gruss
S.A. Media
Verfasst: 23.02.2009, 18:06
von chris21
Ach stimmt
Deny läuft über mod_access, dafür wird automatisch nen DOUBLE_REV verwendet als wäre HostnameLookups auf Double gesetzt -> siehe 2. Absatz hier:
https://httpsd.apache.org/docs/2.0/mod/ ... amelookups
Also solltest Du einfach per Deny from vorgehen - oder gibt es einen Grund, warum Du hier mod_rewrite anstelle von mod_access einsetzen willst?
Verfasst: 23.02.2009, 18:24
von S.A. Media
chris21 hat geschrieben:Deny läuft über mod_access, dafür wird automatisch nen DOUBLE_REV verwendet als wäre HostnameLookups auf Double gesetzt
Gut zu wissen.
chris21 hat geschrieben:... oder gibt es einen Grund, warum Du hier mod_rewrite anstelle von mod_access einsetzen willst?
Doch schon. Ich kann über "deny from" ja nichts konkrettes angeben, was danach "geschehen" soll, bin ja sehr beschränkt auf die 403-Fehlermedlung...
Oder irre ich mich da womöglich?
Gruss
S.A. Media
Verfasst: 23.02.2009, 18:39
von chris21
Hi,
nein, leider wirst Du über mod_access nur den 403 produzieren.
... da könnte dann allenfalls helfen, dass das ErrorDocument des 403er nochmal über php gethostbyaddr() abfragt, ob die 403er Seite von einem spamboot Host erreicht wird und diesen dann per php per Header weiterleiten. Vorteil wäre dabei, dass wenn sonst selten 403er zu erwarten sind, gethostbyaddr() nur selten eingesetzt wird (Server-Performance).
Ansonsten: Über die REMOTE_ADDR, d.h. IP-Nummern, kannst Du das Problem nicht lösen?
Verfasst: 23.02.2009, 20:35
von S.A. Media
chris21 hat geschrieben:.... Über die REMOTE_ADDR, d.h. IP-Nummern, kannst Du das Problem nicht lösen?
Doch, sicherlich lässt sich das organisieren.
Ich glaube es wird nicht schwer sein, die zugehörigen IP-Bereiche rauszusuchen und mit REMOTE_ADDR zu "lenken", was ich jetzt auch vorhabe.
Wichtig ist, dass ich nun weiß, warum es mit REMOTE_HOST trotz allen Bemühungen in .htaccess nicht klappen wollte....
Danke Dir.
Gruss
S.A. Media