Hallo zusammen,
ich habe eine mehrsprachige Website mit Zeta 14.3.3 fertiggestellt. Nach vielen (nervenaufreibenden) Recherchen funktioniert jetzt soweit auch fast alles. Das Wörtchen "fast" bezieht sich auf die 301-Weiterleitungen, innerhalb der .htaccess, aber dazu gleich mehr.
Die Website funktioniert, aber es bleibt trotzdem ein flaues Gefühl. Es bleibt für mich die Frage: "War das jetzt alles so richtig, oder geht es einfacher?". Ich habe zwar alles so gemacht wie es hier: https://docs.zeta-producer.com/mehrere-sprachen.html beschrieben wurde, aber irgendwie scheint diese Anleitung unvollständig zu sein, denn wenn ich für jede Sprache einen separaten Ordner erstelle, dann gibt es keine index.html (für die Wurzelseite) worauf sich der Server beziehen kann. Ohne eine .htaccess-Datei und extra Code funktioniert das Ganze nicht.
Ich wollte es erst mit dem Vorschlag von Steffen lösen, die DE-Seite nicht in einen extra Ordner zu packen und diese als Wurzelseite zu verwenden, aber das geht mit der 14er Version scheinbar auch nicht. Ich war gezwungen für jede Sprache einen Ordner anzulegen und in der .htaccess eine Weiterleitung einzurichten.
Nur so war es möglich das Projekt zum laufen zu bringen!
--------------------------------
Falls jemand ähnliche Probleme haben sollte, hier der Code für die Umleitung in .htaccess:
Wenn die Domain aufgerufen wird, dann wird z.B. weitergeleitet auf: mustermann.de/de/index.php (Startseite)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mustermann.de$
RewriteCond %{REQUEST_URI} !^/de/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /de/$1
RewriteCond %{HTTP_HOST} ^(www.)?mustermann.de$
RewriteRule ^(/)?$ de/index.php [L]
--------------------------------
Jetzt funktioniert aber die 301-Weiterleitung von älteren Seiten im Google-Index nicht richtig.
Wenn z.B. in der.htaccess steht: Redirect 301 /alte-seite.html https://www.mydomain.xy, dann wird in der Browser-URL
https://www.mydomain.xy//de/alte-seite.html, angezeigt (mit Error 404). Der Doppel-Slash (//de) ist kein Tippfehler! Erst wenn ich in der URL (manuell) "/de" entferne und Enter drücke, erscheint das richtige Weiterleitungsziel. Es ist jetzt kein "Showstopper" und Google schmeißt die paar alten Verweise irgendwann raus, aber schön wäre es wenn es funktionieren würde.
Meine Fragen:
1. Fehlen irgendwo noch Informationen in der "Mehrere-Sprachen-Anleitung", oder ist es absichtlich so gestaltet, dass man sich die Infos zusammensuchen muss? (evtl. wegen Zuständigkeit, Serverseitigkeit, Hoster etc..?)
2. ..oder habe ich evtl. irgendwo einen Denkfehler und das Ganze geht viel einfacher?
3. Weiß jemand wie und wo man etwas anpassen muss, damit nicht dieses zusätzliche "/de" bei einer 301-Weiterleitung in der URL erscheint?