zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Spracherkennung mit 301 oder 302

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 01.10.2009, 13:26
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard Spracherkennung mit 301 oder 302

Hallo allerseits,

bei einer mehrsprachigen Website lasse ich beim Aufruf von domain.tld per $_SERVER['HTTP_ACCEPT_LANGUAGE'] die bevorzugte Sprache des Nutzers ermitteln und dann entsprechend weiterleiten, z.B. auf domain.tld/de/ oder domain.tld/en/ (selbstverständlich gibt es auf jeder einzelnen Seite die Möglichkeit, die Sprache "manuell" zu wechseln).

Nun überlege ich allerdings, ob ich als Statuscode 301 oder 302 senden soll, denn ideal ist beides nicht - 301 ist nicht wirklich zutreffend und 302 nicht optimal für Google (da möglicher Duplicate Content). Was würdet Ihr tun?

Schöne Grüße,
Heiko
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten.
Internet-Grundregel: Unbekannte Begriffe googeln! (Erspart 99% aller Nachfragen.)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 01.10.2009, 13:48
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Ich sehe kein Problem einer permanenten Weiterleitung, wenn du diese an die Bedingung bei der Sprachvereinbarung knüpfst:
Code:
HTTP/1.1 301 Moved Permanently
Location: http://example.com/en/
Vary: Accept-Language
…
Das gilt natürlich nur dann, wenn die Sprachvereinbarung erfolgreich war.
__________________
Markus Wulftange
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 01.10.2009, 13:50
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Ich hab' bisher nur deutsche Seiten gemacht, aber was würdest Du vom 300er halten?

Dieser steht ja für MultipleChoice und im Prinzip ist es das ja. Im Location-Header kann man die bevorzugte Resource angeben, sollte also auch vom Client entsprechend umgeleitet werden, probiert habe ich es allerdings nicht.
Mit Zitat antworten
  #4 (permalink)  
Alt 01.10.2009, 21:48
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Ich würde auch den 300er verwenden. Die Seite wurde nicht verschoben, schon gar nicht temporär.
Mit Zitat antworten
  #5 (permalink)  
Alt 02.10.2009, 01:39
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

300 verstehe ich allerdings eher als "keine eindeutige Antwort möglich, daher mehrere Optionen zur Auswahl". Aber wenn ein Browser eine Anfrage mit Deutsch als bevorzugter Sprache sendet, und der Server kann ihm eine deutsche Seite geben und leitet auch direkt dorthin weiter, sehe ich das schon als klare Antwort (und demzufolge ohne "Multiple Choices").
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten.
Internet-Grundregel: Unbekannte Begriffe googeln! (Erspart 99% aller Nachfragen.)
Mit Zitat antworten
  #6 (permalink)  
Alt 02.10.2009, 02:08
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Ich sehe das so, dass der Browser eine englische Seite anfordert, er aber eigentlich deutsch bevorzugt.
Der Server teilt dem Browser dann erstmal mit, dass es unter der angeforderten Resource mehrere (Sprach-)Versionen gibt und die (vom Browser) bevorzugte Version im Location-Header angegeben ist, der Browser leitet entsprechend um.

Ist bereits die bevorzugte (Sprach-)Version angefordert worden, gibt's natürlich einen 200er, wobei die bevorzugte (Sprach-)Version auch eine manuell eingestellte Version sein kann.

Also Browser sendet deutsch, Benutzer hat manuell englisch eingestellt, dann sollte die englische Version mit einem 200er ausgeliefert werden und die deutsche mit einem 300er.

Naja, sind meine ersten Gedanken dazu, aber das scheint für mich (momentan) schlüssig.

Zitat:
Zitat von heiko_rs Beitrag anzeigen
300 verstehe ich allerdings eher als "keine eindeutige Antwort möglich, daher mehrere Optionen zur Auswahl". ...
Wenn als bevorzugte Sprache vom Client ein "englisch" kommt und dieser die deutsche Version requestet, kann die Antwort ja eigentlich nicht eindeutig sein, da der Server ja beide Versionen hat und nicht wissen kann, ob die englische Version tatsächlich gewünscht ist, daher der Status, dass es mehrere Versionen gibt, "er aber vermutet, dass der Client die deutsche Version haben will und ihm somit die Adresse dieser Version im Header mitteilt".

Geändert von mantiz (02.10.2009 um 02:12 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 02.10.2009, 03:13
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von mantiz Beitrag anzeigen
Wenn als bevorzugte Sprache vom Client ein "englisch" kommt und dieser die deutsche Version requestet
Möglicherweise liegt ein Missverständnis vor: Wenn per URL explizit eine bestimmte Sprache angefragt wird (z.B. domain.tld/en/biography), lasse ich die entsprechende Version auch ausliefern. Denn wenn z.B. jemand eine spezielle englische Formulierung gegoogelt hat, soll er das angeklickte Suchergebnis auch bekommen, und nicht etwa dessen deutsche Übersetzung, nur weil sein Browser Deutsch als bevorzugte Sprache sendet.

Die Abfrage findet also nur statt, wenn domain.tld angefragt wird, und evtl. zusätzlich noch bei ungültigen Anfragen (ggf. auch nur bei fehlender "Sprachkomponente" in der URL), damit eine Fehlermeldung in der passenden Sprache ausgeliefert werden kann. Und fragt ein Browser domain.tld an, mit Deutsch als bevorzugter Sprache, ist die Weiterleitung an die deutsche Version der Seite auch eine eindeutige Antwort und daher imho kein wirklicher 300.
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten.
Internet-Grundregel: Unbekannte Begriffe googeln! (Erspart 99% aller Nachfragen.)
Mit Zitat antworten
  #8 (permalink)  
Alt 02.10.2009, 10:00
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Zitat:
Zitat von heiko_rs Beitrag anzeigen
300 verstehe ich allerdings eher als "keine eindeutige Antwort möglich, daher mehrere Optionen zur Auswahl".
Das ist richtig. Der 300-Statuscode ist für den Fall einer fehlgeschlagenen Inhaltsvereinbarung gedacht, wenn also keine eindeutige Wahl getroffen werden konnte.
__________________
Markus Wulftange
Mit Zitat antworten
  #9 (permalink)  
Alt 02.10.2009, 11:16
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Zitat:
Zitat von Gumbo Beitrag anzeigen
Das ist richtig. Der 300-Statuscode ist für den Fall einer fehlgeschlagenen Inhaltsvereinbarung gedacht, wenn also keine eindeutige Wahl getroffen werden konnte.
Genau das ist meiner Meinung nach bei einer Seite die in verschiedenen Sprachen vorliegt der Fall. Ob nun eine Grafik als jpg und png vorliegt und deswegen keine eindeutige Antwort erfolgen kann, oder die Seite einmal in deutsch und englisch vorliegt, ist für mich die gleiche Problematik. Der Request-Header gibt nur einen Hinweis welche Sprache man am besten wählt, daraus kann aber keine eindeutige Antwort abgeleitet werden.
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 02.10.2009, 11:22
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Zitat:
Zitat von inta Beitrag anzeigen
Der Request-Header gibt nur einen Hinweis welche Sprache man am besten wählt, daraus kann aber keine eindeutige Antwort abgeleitet werden.
Nur wenn überhaupt keine Übereinstimmung gefunden wird, gilt eine Inhaltsvereinbarung als fehlgeschlagen. Etwa wenn ein Dokument nur in Englisch verfügbar ist, der Client aber nur Deutsch akzeptiert. Wenn er allerdings Deutsch und Englisch akzeptiert, ist die Sprachvereinbarung erfolgreich, selbst wenn Deutsch vor Englisch bevorzugt wird. Und das gilt auch nur für generische URLs.
__________________
Markus Wulftange
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
301 - wie lange bestehen lassen? laborix Serveradministration und serverseitige Scripte 5 14.05.2010 18:57
Quicktime-Film in die Seite einbinden etux (X)HTML 0 10.05.2009 14:24
was ist an dieser 301 Regel falsch ansatz Serveradministration und serverseitige Scripte 4 07.03.2008 14:35
301 Weiterleitung ansatz Serveradministration und serverseitige Scripte 7 15.02.2008 14:40
301 permanent redirect (.htaccess) cpt.future Serveradministration und serverseitige Scripte 2 17.10.2007 19:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:12 Uhr.