Sprachprefix in RealURL / Umleitung / Duplicate Content [Gelöst]

  • tmicha tmicha
    Padawan
    0 x
    43 Beiträge
    0 Hilfreiche Beiträge
    03. 08. 2011, 14:47

    Hallo,

    bei einer bestehenden Seite soll die bisherige Struktur jetzt mehrsprachig veröffentlicht werden. Die Sprachen sind eingerichtet, die Links mit RealURL auch korrekt.

    Wie schaffe ich es nun, dass nicht

    name.tld/unternehmen UND name.tld/de/unternehmen

    gültige Links sind?

    Sondern beim Aufruf von name.tld/unternehmen mit einem HTTP-Redirect suchmaschinenfreundlich auf name.tld/de/unternehmen umgeleitet wird? Ich dachte anfangs dass eine Anpassung des Parameters "noMatch" in der RealURL Config mein Freund ist, aber damit ist es mir leider nicht gelungen.

    Notfalls könnte ich bestimmt auch Umleitungen in der .htaccess schreiben, aber die dann so zu formulieren, dass sie nicht für statische Ordner gelten ist wahrscheinlich auch wieder sehr aufwändig / fehleranfällig.

    Hat jemand einen Vorschlag oder eine Idee für mich?

    Vielen Dank, Micha


  • 1
  • king.darki king.dark...
    Sternenflotten-Admiral
    0 x
    219 Beiträge
    0 Hilfreiche Beiträge
    04. 08. 2011, 08:29

    Hallo Micha,

    [quote="tmicha"]
    Notfalls könnte ich bestimmt auch Umleitungen in der .htaccess schreiben, aber die dann so zu formulieren, dass sie nicht für statische Ordner gelten ist wahrscheinlich auch wieder sehr aufwändig / fehleranfällig.

    Hat jemand einen Vorschlag oder eine Idee für mich?
    [/quote]
    Die htaccess-Lösung ist die schönste, schnellste und performanteste, die du haben kannst.
    So wird der Redirect gleich vom Server gemacht, bevor TYPO3 oder sonst was geladen werden muss.

    Und sehr aufwendig und fehleranfällig ist der Code auch nicht:

    ### Redirect, wenn keine Sprache gesetzt ist ###
    # nur wenn es keine file, kein directory und kein link ist
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    # auch nicht wenn du das TYPO3-Backend aufrufen willst
    RewriteCond %{REQUEST_URI} !^/typo3/$
    # und wenn bisher noch keine Sprache gesetzt wurde
    # bei mir z. B. de, en, es, fr, it, pl, einfach mit ner Pipe + Sprachkürzel erweitern
    RewriteCond %{REQUEST_URI} !^/(de|en|es|fr|it|pl)/(.*)$
    # dann mach den 301-Redirect auf die deutsche Seite
    RewriteRule ^(.*)$ /de/$1 [L,R=301]
    ### Redirect Ende ###

    Grüße Patrick

  • tmicha tmicha
    Padawan
    0 x
    43 Beiträge
    0 Hilfreiche Beiträge
    05. 08. 2011, 12:27

    Hallo Patrick,

    vielen Dank für Deinen Tipp! Von der Seite, dass man sich den Typo3-Aufruf "spart" hatte ich das noch nicht betrachtet.

    Gruß Micha

  • tmicha tmicha
    Padawan
    0 x
    43 Beiträge
    0 Hilfreiche Beiträge
    08. 08. 2011, 12:07

    Kann man sich nicht eigentlich

    1. # auch nicht wenn du das TYPO3-Backend aufrufen willst
    2. RewriteCond %{REQUEST_URI} !^/typo3/$

    sparen, da das ja ein echtes Verzeichnis ist?

  • king.darki king.dark...
    Sternenflotten-Admiral
    0 x
    219 Beiträge
    0 Hilfreiche Beiträge
    08. 08. 2011, 12:18

    [quote="tmicha"]
    Kann man sich nicht eigentlich

    1. # auch nicht wenn du das TYPO3-Backend aufrufen willst
    2. RewriteCond %{REQUEST_URI} !^/typo3/$

    sparen, da das ja ein echtes Verzeichnis ist?
    [/quote]
    Da hast du recht, das brauchst du (eigentlich) nicht.
    Aber irgendwas hatte bei mir damals nicht geklappt, weshalb ich das auch mit aufgenommen hatte... scheint nun aber auch ohne die Zeile zu funktionieren...

    Grüße Patrick

  • 1