hotti: Weiterleitung je nach Serversprache: OK für Suchmaschinen?

Beitrag lesen

hi,

Ich habe mir auch schon einen Testfall gebaut: Wenn Browsersprache=="de-de", gib einen Meta-Redirect [..]

Das ist ok, aber ich würde erstens keine Redirection machen und zweitens ist das an der von Dir genannten Stelle schon zu spät für das was ich machen würde (mod_rewrite). Das Engineering muss früher einsetzen, also:

Der Browser sendet einen Header Accept-Language, z.B.

Accept-Language=de-de,de;q=0.8,en-us;q=0.5,en;q=0.3

Dieser Header findet sich serverseitig in der Umgebung als

HTTP_ACCEPT_LANGUAGE

$ENV{HTTP_ACCEPT_LANGUAGE} in Perl, $_SERVER[HTTP_ACCEPT_LANGUAGE] in PHP.

Zum Einsatz der Rewrite Engine (RE) für diesen Zweck muss zum Laden einer HTML-Seite ein CGI-Prozess vorgeschaltet sein, Perl oder PHP o.ä., der wertet die Umgebung aus und kriegt dazu die angeforderte Seite in REQUEST_URI. Die RE hat nun eine Tabelle für jeden REQUEST_URI mit dem Content und der wird je nach HTTP_ACCEPT_LANGUAGE als Response ausgegeben.

Die RewriteRule könnte so aussehen:

RewriteRule ^.*.html$              /cgi-bin/load.cgi?q=html

ist also für alle .html Requests gleich wobei das Script load.cgi der Manager ist und auch mal ne Default-Seite laden kann, wenn die Sprache nicht zur Verfügung steht.

Ob Du dann noch ein flag [r=301] setzen möchtest, bleibt Dir überlassen, mein Tipp: lass es weg.

Hotti