[HowTo] Automatische Weiterleitung (301) auf Browsersprache
Autor
Nachricht
Verfasst am: 12.08.2008 [11:53]
einpraegsam.net [Moderator] [Themenersteller] dabei seit: 17.01.2005 Beiträge: 8105
Anforderung:
Um Kontinuität und SEO auf die Seite zu bringen, ist es erforderlich alle Anfragen von www.domain.com/seite/seite.html auf die entsprechende lokalisierte Sprache (via 301) zu bringen www.domain.com/de/seite/seite.html
Idee:
Eine kleine userFunc auf allen Seiten:
- Leitet auf die entsprechende Browsersprache
- Wenn eine Sprache nicht definiert ist, soll Standardsprache benutzt werden
- Falls robot oder spider kommt, soll eine vordefinierte Sprache genommen werden
- Keine Weiterleitung wenn Sprachparameter gesetzt ist
- Falls zu Testzwecken eine URL mit index.php aufgerufen wird, nicht weiterleiten
- Wenn mehrere Domains verwendet werden (domain.com, domain.de, domain.at), Weiterleitung auf Hauptdomain (via 301)
Umsetzung:
- Einbindung der userFunc auf jeder Seite über TS:
if(strpos($_SERVER['REQUEST_URI'], 'index.php') === false){// only if no manual domain like www.conject.com/index.php?id=3
// Let's go
if($_GET['L'] == '' || $_SERVER['SERVER_NAME'] != $this->correctDomain || strpos($_SERVER['REQUEST_URI'], '/index.html') !== false){// if wrong url OR no language variable set
if($_GET['L'] == ''){// no language variable set, so add one
Abschließendes:
- Vielleicht gibt es schon eine Extension die das alles kann, ich habe keine auf die Schnelle entdecken können.
- Am Anfang der PHP Klasse müssen/können die Einstellungen vorgenommen werden (Sprachen, Domain, Defaultsprache, Spidersprache, Debugmode)
- Grüße aus München Powermail :: einpraegsam.net :: Follow Me :: XING profile :: conject
Verfasst am: 03.09.2008 [13:59]
bruder_chang
dabei seit: 06.06.2006 Beiträge: 36
Wow, das klingt ja super!
Doch funktioniert das auch, wenn man realurl im Einsatz hat?
Und wie genau müsste die Sprachen-Zeile (6) angepasst werden, wenn man Englisch (L=0), Chinesisch (L=1) und Japanisch (L=3) im System hat?
Es wäre natürlich schön, wenn
www.domain.com/zielseite
dann automatisch bei z.B. chinesischer Browser-Sprache auf
www.domain.com/zh/zielseite
springen würde...
Oder ist das eine ganz andere Geschichte?
Thx,
Bruder Chang "Herr Kommissar, Ihre Waffe, bitte." - "Ich brauche keine Waffe. Ich ermittle AUSSCHLIEßLICH mit dem Gehirn!"
Verfasst am: 03.09.2008 [14:08]
einpraegsam.net [Moderator] [Themenersteller] dabei seit: 17.01.2005 Beiträge: 8105
bruder_chang schrieb:
Doch funktioniert das auch, wenn man realurl im Einsatz hat?
logisch!
bruder_chang schrieb:
Und wie genau müsste die Sprachen-Zeile (6) angepasst werden, wenn man Englisch (L=0), Chinesisch (L=1) und Japanisch (L=3) im System hat?
Aber ohne Gewähr, müsste ich mir selbst erst mal anschauen...
bruder_chang schrieb:
Es wäre natürlich schön, wenn
www.domain.com/zielseite
dann automatisch bei z.B. chinesischer Browser-Sprache auf
www.domain.com/zh/zielseite
springen würde...
Leider funktioniert das noch nicht so recht.
Wenn ich aus "www.domain.com/en/contact" "www.domain.com/contact" mache, lande ich auf der englischsprachigen Startseite (Englisch ist Standardsprache).
Dabei ist im Firefox Chinesisch als bevorzugte Sprache ausgewählt.
Zeile 6 habe ich entsprechend angepasst und vorsichtshalber auch die Extension rlmp_language_detection deinstalliert.
Leider bringt das nichts.
Ich habe auch das TS nach evtl. Stolpersteinen durchsucht, doch bis auf realurl gibt's da eigentlich nichts, was dazwischenfunken könnte.
Oder ich habe Tomaten auf den Augen.
Typo3 4.1.7
realurl 1.4.0
Vielen Dank,
Bruder Chang
[Dieser Beitrag wurde 1 mal bearbeitet. Zuletzt am 03.09.2008 um 15:06] "Herr Kommissar, Ihre Waffe, bitte." - "Ich brauche keine Waffe. Ich ermittle AUSSCHLIEßLICH mit dem Gehirn!"
Verfasst am: 03.12.2008 [08:50]
kpk
dabei seit: 03.12.2008 Beiträge: 1
einpraegsam.net schrieb:
... Abschließendes:
- Vielleicht gibt es schon eine Extension die das alles kann, ich habe keine auf die Schnelle entdecken können.
...