Zur Navigation

Umleiten auf Google Translate

1 Jan

Lange Zeit hatte ich Links zur Übersetzung in der Webseite eingebunden, nach dem Muster:

href="http://translate.google.com/translate?u=http://www.meinewebseite.de/index.php&langpair=de|en&hl=en&ie=UTF8

Dann bemerkte ich vor Wochen fehlerhafte Anfragen im Log, an die URLs wurden lediglich die Parameter &langpair=de|en&hl=en&ie=UTF8 angehängt .. und es gab 404er Fehler.

Wobei ich mich frage warum das passierte ?
Haben Bots eventuell einefach die Url aus dem Link nach ?u= als Link übernommen und rufen diesen (falschen) nun auf ?

Also habe ich die entsprechenden Links nun als JavaScript eingebunden:
javascript:var%20t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));var%20e=(document.charset||document.characterSet);if(t!=''){location.href='http://translate.google.com/?text='+t+'&hl=de&langpair=auto|en&tbb=1&ie='+e;}else{location.href='http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&hl=de&langpair=auto|en&tbb=1&ie='+e;};

Mit der folgenden Regel:
# Falsche Aufrufe zur Übersetzung umleiten
#
RewriteCond %{REQUEST_URI} .*\.php&langpair=de|en&hl=en&ie=UTF8$ [OR]
RewriteCond %{REQUEST_URI} .*\.php&langpair=de|fr&hl=fr&ie=UTF8$ [OR]
RewriteCond %{REQUEST_URI} .*\.php&sl=de&tl=es&hl=de&ie=UTF-8$
RewriteRule (.*) http://translate.google.com/translate?u=http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

kann ich noch weiter kommende falsche Anfragen wohl bedenkenlos weiterleiten ? Oder ?
Damit leite ich doch nicht alle meine Seiten dauerhaft nach Google Translate um ? Oder setze ich in diesem Fall R=302 ?

11.10.2012 13:48

2 Jörg Kruse

Zitat von Jan
Lange Zeit hatte ich Links zur Übersetzung in der Webseite eingebunden, nach dem Muster:

href="http://translate.google.com/translate?u=http://www.meinewebseite.de/index.php&langpair=de|en&hl=en&ie=UTF8

Dann bemerkte ich vor Wochen fehlerhafte Anfragen im Log, an die URLs wurden lediglich die Parameter &langpair=de|en&hl=en&ie=UTF8 angehängt .. und es gab 404er Fehler.

Wobei ich mich frage warum das passierte ?
Haben Bots eventuell einefach die Url aus dem Link nach ?u= als Link übernommen und rufen diesen (falschen) nun auf ?

Ja, der Bot verwendet vermutlich einen kaputten Regex, der beim letzten "http://" loslegt.

Mit der folgenden Regel:
# Falsche Aufrufe zur Übersetzung umleiten
#
RewriteCond %{REQUEST_URI} .*\.php&langpair=de|en&hl=en&ie=UTF8$ [OR]
RewriteCond %{REQUEST_URI} .*\.php&langpair=de|fr&hl=fr&ie=UTF8$ [OR]
RewriteCond %{REQUEST_URI} .*\.php&sl=de&tl=es&hl=de&ie=UTF-8$
RewriteRule (.*) http://translate.google.com/translate?u=http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

kann ich noch weiter kommende falsche Anfragen wohl bedenkenlos weiterleiten ? Oder ?
Damit leite ich doch nicht alle meine Seiten dauerhaft nach Google Translate um ?

Nur die, die auf eine der drei Bedingungen matchen. Ich würde die halt gründlich testen

Oder setze ich in diesem Fall R=302 ?

Das hieße, dass unter diesen URLs irgendwann Inhalt zu finden ist, und die Weiterleitung deswegen nur temporärer Natur. Wenn das nicht der Fall ist, würde ich mit dem Status 301 weiterleiten.

11.10.2012 17:52

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]