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
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
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
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?
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