Zum Inhalt springen

Sprachprefix in RealURL / Umleitung / Duplicate Content

Erstellt am 3. August 2011 · 4 Antworten · letzte Antwort am 8. August 2011

Tags: RealURL, Weiterleitungen & 404, Frage

tmicha ·

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

fiedomedia ·

Hallo Micha,

tmicha schrieb

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?

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 ·

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 ·

Kann man sich nicht eigentlich

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

sparen, da das ja ein echtes Verzeichnis ist?

fiedomedia ·
tmicha schrieb

Kann man sich nicht eigentlich

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

sparen, da das ja ein echtes Verzeichnis ist?

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