[gelöst] Nochmal: default-Sprache für Startseite festlegen
Eingetragen von tetri999 (153)
am 29.09.2015 - 16:32 Uhr in
am 29.09.2015 - 16:32 Uhr in
Hallo,
wie kann ich Drupal veranlassen, vom Aufruf der Domain
domain-name.com auf z.B.
domain-name.com/de zu gehen?
Mit redirect geht's nicht, da ja beide URLs zu <front>
gehören - das gibt eine Endlosschleife.
Für die Standardsprache den Länder-Suffix wegzunehmen, würde bedeuten, daß ich hunderte von bereits indexierten Seiten redirecten müßte.
Außerdem soll später mal EN die Defaultsprache werden.
Hat jemand einen Rat?
mfG, Michael
- Anmelden oder Registrieren um Kommentare zu schreiben
so vielleicht?
am 30.09.2015 - 07:54 Uhr
hallo,
A)
Unter Admin-Website Informationen kannst du ja die Startseite angeben, dort einfach mal den Link eintragen falls du das noch nicht gemacht hast...
B)
In der Konfiguration bei deinem Webhoster eine Weiterleitung vom domainnamen auf den entsprechenden Link eintragen... Ist zwar nicht die feine englische Art, aber so geht's... ;)
Grüße
.htaccess - rewrite ist dein Freund
am 01.10.2015 - 09:46 Uhr
Probier mal die folgende Erweiterung/Anpassung in der .htaccess:
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
RewriteBase /
RewriteRule ^$ /de [L,R=301]
Anstelle von /de kann man natürlich auch jede andere 'Start-URL' einstellen.
Die Umleitung via 301er wird imo auch von Google als Lösungsweg vorgeschlagen, es sollte also von Google keinen Abzug in der B-Note geben.
Grüße
Peter
Vielen Dank für den Hinweis,
am 01.10.2015 - 11:22 Uhr
so wie Du das geschrieben hast, bekomme ich
Der angeforderte URL konnte auf dem Server nicht gefunden werden.
Das lag wohl an meiner Testumgebungs-Struktur (lokal, XAMPP, virtualServer localhost.projekte, in Unterverzeichnis /projektName/httpdocs).
Mit dieser Einstellung ging's dann:
RewriteBase /projektName/httpdocs
RewriteRule ^$ http://localhost.projekte/projektName/httpdocs/de [L,R=301]
Trotzdem die Frage: ist das richtig so?
Dieses RewriteRule ^$ ... bedeutet doch, daß alle URLs umgeschrieben werden - oder?
Aber das macht Drupal bei den Folgeseiten doch ohnehin selbst!
Was passiert hier? - kann das irgendwelche Komplikationen geben?
Der eigentliche Grund für diese Anfrage war ja, daß Google bei unserer LiveSite die beiden URLs domain-name.com und domain-name.com/de als "duplicate Content" diagnostiziert.
Wäre das dann mit dieser Lösung behoben?
mfG, Michael
Nachtrag:
Wenn später EN der Hauptzweig sein soll, müßte ich diesen Eintrag ja neu anpassen - wäre es da nicht sinvoller, jetzt für DE eine temporäre 307-Weiterleitung anzugeben?
Passt
am 01.10.2015 - 13:11 Uhr
Zur genauen Config in XAMPP kann ich leider nicht's sagen. Ich entwickle in VMs mit Ubuntu, dadurch verhällt sich die Entwicklungsumgebung wie die finale Prod. Was Du dazu geschrieben hast, sieht aber plausibel aus.
Für eine 'normale' Prod-Umgebung (ggf. auch mit Subdomain) gilt:
RewriteRule ^$
Greift immer dann wenn hinter der Domain kein Pfad mehr angegeben wird.
Das Zeichen '^' steht für den Anfang, das Zeichen '$' für das Ende.
Ich hab grade das selbe Problem in dem Zusammenang (mit Entity-Translation, ...), daher hab ich diese Lösung probiert. In Meiner Umgebung verhält es sich wie gewünscht.
Daher, Adressen würden wie folgt übersetzt/beibehalten:
http://www.abc.de/ => http://www.abc.de/de
http://www.abc.de/de => http://www.abc.de/de
http://www.abc.de/en => http://www.abc.de/en
http://www.abc.de/de/irgendwas => http://www.abc.de/de/irgendwas
http://www.abc.de/en/something => http://www.abc.de/en/something
Aber auch:
http://www.abc.de/irgendwas => http://www.abc.de/irgendwas
Was den Weiterleitungscode angeht, hast Du recht, da sollest Du erst mal den 307 einsetzen.
OK,
am 01.10.2015 - 13:25 Uhr
vielen Dank für die ausführliche Antwort - kriege ich nicht so oft hier...
Dann kann ich das Thema als gelöst markieren.
Michael