Zur Navigation

Umleitung je nach Sprache auf entsprechende Indexseite

1 oidahabara (Gast)

Servus miteinanda,

Ich habe bei einer Website eine englische Abteilung zugefügt und möchte jetzt, dass bei Aufruf der URL www.xyz.info automatisch auf die index.html (englische Version) geleitet wird. Server ist eingestellt, dass .html vor .htm kommt.

Wenn aber einer kommt und im Browser "de" vermerkt hat soll er direkt auf die Seite index.htm (deutsche Version) leiten.

Das hab ich im .htaccess


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.xyz\.info [NC]
RewriteRule ^(.*)$ http://xyz.info/$1 [L,R=301]

RewriteCond %{HTTP:Accept-Language} (de) [NC]
RewriteRule .* http://xyz.info/index.htm [R,L]

Irgenwo hab ich da einen Beistrich verkehrt drinnen, geht nicht :o[

20.09.2009 15:52

2 Jörg

Ich würde es mit dieser RewriteCond probieren:

RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^de [NC]

20.09.2009 19:44 | geändert: 20.09.2009 19:44

3 oidahabara

Zitat von Jörg
Ich würde es mit dieser RewriteCond probieren:

RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^de [NC]

da tut sich leider überhaupt nix.

Mit dem obigen Code funktionierts, wenn ich auf eine andere Website umleite, also

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.xyz\.info [NC]
RewriteRule ^(.*)$ http://xyz.info/$1 [L,R=301]

RewriteCond %{HTTP:Accept-Language} (de) [NC]
RewriteRule .* http://abc.info [R,L]

aber auf eine andere Indexseite (index.html auf index.htm)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.xyz\.info [NC]
RewriteRule ^(.*)$ http://xyz.info/$1 [L,R=301]

RewriteCond %{HTTP:Accept-Language} (de) [NC]
RewriteRule .* http://xyz.info/index.htm [R,L]
tut sich nix (mit Deiner Zeile), oder es kommt ein Fehler (mit meiner alten Zeile) in der Adresszeile sthet aber die URL../index,htm


Fehler: Umleitungsfehler
      
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
    
  *   Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt 
      	werden.

20.09.2009 22:07 | geändert: 20.09.2009 22:09

4 Jörg

Die index.htm wird in einer Endlosschleife auf sich selbst weitergeleitet. Eine zusätzliche RewriteCond als Abbruchbedingung könnte hier vielleicht helfen:

RewriteCond %{THE_REQUEST} !index\.htm

20.09.2009 23:49

5 oidahabara

Mit dieser zusätzlichen Zeile leitet es zwar auf die index.htm um, aber es geht dann kein link mehr von dieser Seite.

Kannst Du mir bitte den kompletten Code anschauen und ggf, ausbessern


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.xyz\.info [NC]
RewriteRule ^(.*)$ http://xyz.info/$1 [L,R=301]

RewriteCond %{HTTP:Accept-Language} (de) [NC]
RewriteCond %{THE_REQUEST} !index\.htm
RewriteRule .* /index.htm [R,L]

21.09.2009 00:33

6 Jörg

aber es geht dann kein link mehr von dieser Seite

Stimmen die Pfade der Links nicht, oder wie äußert sich das?

Bei einer Weiterleitung sollte die vollständige URL angegeben werden:

RewriteRule .* http://xyz.info/index.htm [R,L]

21.09.2009 09:52

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]