Weiterleitung / URL Rewrite der Domain mit / ohne www per htaccess | Contao

'Mathias Arzberger'
Mathias Arzberger

Du möchtest deine Contao Webseite immer auf eine Domain mit www / ohne www weiterleiten um doppelte Inhalte (double content) zu vermeiden? Hier erfährst du was du in deine .htaccess eintragen musst.

htaccess Redirect / Weiterleitung nach https (SSL) mit und ohne www

Snippet für die .htaccess Datei für einen Rewrite nach https ohne www (non www) und Weiterleitung von http www nach https ohne www.

Wie kann ich http://www.example.org nach https://example.org weiterleiten?

Wenn dein Hosting Anbieter für deine Contao Webseite auf Apache setzt kannst du eine Weiterleitung ganz einfach per .htaccess einrichten und unsere Code Snippets verwenden.

Wo füge ich den Code ein und muss ich eine Reihenfolge beachten?

Prinzipiell funktioniert die .htaccess wie alle Apache Konfigurationsdateien und da wir einen "Rewrite" machen wollen, empfehle ich die Anweisung weiter oben in der .htaccess Datei zu platzieren bevor alle anderen Anweisung ausgeführt werden.

Wo finde ich die .htaccess Datei in Contao 4?

In der Regel liegt die .htaccess im Root-Verzeichnis einer Webseite. Für Contao 4 wird das Root-Verzeichnis aber auf /web gestellt und hier muss auch die .htaccess abgelegt werden.

Hinweis
/web Ist st die Heimat aller öffentlichen und statischen Dateien von Contao, einschließlich Bilder, Stylesheets und JavaScript-Dateien die meist über Symlinks in das Verzeichnis eingebunden sind.

Beispiel-Verzeichnis auf deinem Server

/var/www/project/web/

Einzelne Domain ohne www auf mit www leiten

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.org [NC]
RewriteRule (.*) https://www.example.org/$1 [R=301,L]

Einzelne Domain mit www auf ohne www leiten

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule (.*) https://example.org/$1 [R=301,L]

Alle Domains einer Contao Multisite mit www auf ohne www leiten

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Was mache ich wenn ich mir eine Änderung an der .htaccess Datei nicht zutraue?

Du kannst eine Weiterleitung auch mit einer Erweiterung auslösen, ich kann dir dafür "URL Rewrite" von terminal42 empfehlen.

 

Zurück