Zur Navigation

Bots rewriten per User Agent

1 Jürgen.bcx

Hallo,
ich versuche gerade Bots per RewriteRule zu sperren, nur bekomme ich immer einen Internal Server Error. Ich möchte per User Agent sperren (neben zahlreichen IP's), weil alle Bots bisher den gleichen User Agent String verwendeten.

Folgendes habe ich versucht:

RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0 \(compatible; MSIE 6\.0; Windows NT 5\.1; SV1\) [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0 \(compatible; MSIE 6\.0; Windows NT 5\.1\)
RewriteRule ^(.*)$ http://domain.tld/wrong_agent.php [NC,L,R=301]

23.05.2009 21:43 | geändert: 23.05.2009 21:44

2 Jörg Kruse

Auch die Leerzeichen müssen maskiert werden:

RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0\ \(compatible;\ MSIE\ 6\.0;\ Window\s NT\ 5\.1;\ SV1\) [OR]

Möglicherweise wirst du hier dann aber nich nur Bots sondern auch echte Browser sperren

24.05.2009 14:29

3 Jürgen.bcx

Danke für die Antwort,
nur leider funktioniert das alles nur im Root, wenn ich auf http://domain.tld/content/downloads/ zugreife, greifen die Änderungen nicht!? Woran liegt das?

Ich möchte halt jedweden Zugriff (egal welcher Pfad, egal welche Datei) eines bestimmten User Agents auf eine eigene Error-Seite umleiten. Habe ich einen Denkfehler drin? Meine RewriteRule habe ich übrigens so abgeändert:

RewriteRule ^$ http://domain.tld/bots_out.php [NC,L,R=301]

24.05.2009 20:21

4 Jörg Kruse

"^$" leitet auch nur die Startseite weiter. Wenn du alles weiterleiten möchtest, musst du "^.*$" als Muster verwenden.

24.05.2009 20:50

5 Jürgen.bcx

Ich habe das Muster jetzt verändert und bekomme folgenden Fehler:

Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

Muss nicht eine Ausnahme für die Datei hinzu, auf die ich umleiten möchte? Wie lautet die Syntax hierfür?

25.05.2009 08:47 | geändert: 25.05.2009 09:13

6 Jörg Kruse

Ja, bau da mal so eine Ausnahme-Bedingung rein:

RewriteCond %{THE_REQUEST} !/bots_out\.php
RewriteRule ^$ http://domain.tld/bots_out.php [NC,L,R=301]

02.06.2009 17:41

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]