Willkomen auf meiner Wissensdatenbank
Archiv
< Alle Themen
Drucken

Sprachkürzel in der URL in Contao 4.9

Sprachkürzel in der URL in Contao 4.9

Seit Contao 4.4 ist das Sprachkürzel nicht mehr automatisch in der URL. Das Umschalten erfolgt wir folgt.

Sprache in der URL ausschalten: über prepend_locale: false in der der parameters.yml, einschalten über prepend_locale: true.

Im Detail:

Contao Managed-Edition

Dazu gibt es nun die Datei /config/parameters.yml. Diese muss manuell angepasst werden. Will man nun URLs mit Sprachkürzel, muss eingefügt/angepasst werden:

123# This file has been auto-generated during installationparameters:prepend_locale: true


Mittlerweile sollte das auch in der Datei /config/config.yml funktionieren:

12contao:prepend_locale: true

Achtung: Der Inhalt der yml Datei darf keine Tabs enthalten! Normal sind 2 oder 4 Leerzeichen stattdessen.

Danach den Symfony Cache löschen lassen bzw. einen Warmup machen:

12vendor/bin/contao-console cache:clear --env prod --no-warmupvendor/bin/contao-console cache:warmup --env prod

Danke für den Tipp an Spooky im Forum.

Contao 4.9 URL-Suffix ändern (ohne .html) und 301 Weiterleitung für alte URL

Hi Leute,

ich habe folgendes vor:

Bei www.domain.de/xyz.html soll das Suffix .html entfernt werden, sodaß die URL www.domain.de/xyz erscheint.
Dazu gibt es eine gute Anleitung im Netz: https://www.youtube.com/watch?v=2EG2tChW6Vw

Schritt 1:
Eine Datei config.yml anlegen und in den Order /config legen.
In dieser Datei folgende Eingabe:
Code:

contao:
    url_suffix: ""

Hierzu die 4 Leerzeichen beachten, wie im Video erläutert.


Jetzt gibt es aber noch vorhandene URLs, die mit .html enden. Damit diese nicht ins Leere laufen (ERROR 404),
brauchen wir den nächsten Schritt.

Schritt 2:
In der .htaccess die Weiterleitung anlegen:
Code:

# Rewrite old .html URLs (config/config.yml -> contao: url_suffix: '')
RewriteRule ^(.*)\.html$ /$1 [L,R=301]

Dazu gibt es ebenfalls eine gute Anleitung im Netz:
https://brkwsky.de/contao-tipps-und-…-seo-optimiert

ACHTUNG: in dieser Anleitung steht noch die ältere Version (siehe ROT):
Code:

# Rewrite old .html URLs (app/config/config.yml -> contao: url_suffix: '')
RewriteRule ^(.*)\.html$ /$1 [L,R=301]

Dies muß meines Wissens nach bei Contao 9.4 entfernt werden, weil es den Ordner app nicht mehr gibt.

Ich hoffe, hier ein wenig weiterhelfen zu können. Zitieren 15.05.2020, 13:59 #2mlwebmlweb ist offline Contao-Urgestein Registriert seit 10.07.2011. Beiträge 5.018 Partner-ID 7421

Standard

Zitat Zitat von Schnippel
ACHTUNG: in dieser Anleitung steht noch die ältere Version (siehe ROT):
Code:

# Rewrite old .html URLs (app/config/config.yml -> contao: url_suffix: '')
RewriteRule ^(.*)\.html$ /$1 [L,R=301]

Dies muß meines Wissens nach bei Contao 9.4 entfernt werden, weil es den Ordner app nicht mehr gibt.

Ich hoffe, hier ein wenig weiterhelfen zu können.

Da es sich dabei nur um einen Kommentar handelt spielt das für die Funktion keine Rolle. Ist nur ein Hinweis darauf, wo sich die config.yml befindet. Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.
——————————————————————————————————
Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
Contao-Online-Video-Kurse: Contao Academy
Funktionalität erweitern: Contao-Erweiterungen
Zitieren 02.11.2020, 14:18 #3BalduinBalduin ist offline Contao-Nutzer Registriert seit 07.04.2010. Ort Berlin Beiträge 141

Standard

Hallo, stehe gerade vor der Herausforderung die RewriteRule aus der Anleitung andersherum zu bauen. Die html-Endung wird ja standardmäßig immer angehängt, aber ich brauche nun einen Redirect der auf die entsprechende Seite weiterleitet, wenn die url ohne .html aufgerufen wird. Also sowas in dieser Art:
www.domain.de/page -> www.domain.de/page.html

Ist das überhaupt möglich? Es gibt im System ja auch normale Unterordner ohne Dateiendung und die sollen ja nicht mit .html aufgerufen werden…

Inhaltsverzeichnis
Nach oben scrollen