Die Umstellung einer Domain auf SSL (also von http:// auf https:// ) ist normalerweise kein großes Problem. Ein paar Dinge gibt es doch zu beachten.
Gerade in einer Multi-Domain Installation von Typo3 müssen ein paar Dinge beachtet werden. Einige der Tipps, die man im Web so findet passen da nicht. Zum Beispiel werden oft .htaccess Snippets genannt die alle Domains innerhalb des Typo3 zum Beispiel von http:// auf https:// weiterleiten.
Zuallerst muss das SSL-Zertifikat bestellt und eingerichtet werden – nicht vergessen, den A-Record der Domain auf die neue IP zu mappen bei den DNS-Einstellungen.
In meinem Fall habe ich aber folgendes gebraucht:
- Weiterleitung von http://domain.com auf https://www.domain.com
- Weiterleitung von https://domain.com auf https://www.domain.com
- Weiterleitung von http://www.domain.com auf https://www.domain.com
Anmerkung:
Gerade die Weiterleitung von non-www auf https://www. sollte aus SEO-Gründen nicht verkettet passieren (also keine Weiterleitung von http://domain.com nach http://www.domain.com und dann nach https://www.domain.com) sondern in einem Rutsch.
Folgender Code bewerkstelligt diese Anforderungen:
1 2 3 |
<strong># Redirect von www zu https (non www wird via Typo3 weitergeleitet)</strong> RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301] |
Aber besser noch dieses Snippet: (danke an Gerald)
1 2 3 |
<strong># Redirect von www und non-www zu https</strong> RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.mynode.at/$1 [R=301,L] |
Zusätzliche Einstellungen für Typo3:
Damit das Ganze auch richtig funktioniert, müssen in Typo auch noch ein paar Einstellungen gemacht werden:
- Bei den Seiteneinstellungen muss unter „Behaviour“ das Protokoll der jeweiligen Seite auf https:// umgestellt werden.
(Leider muss das für jede einzelne Seite gemacht werden – hier hilft es, in der List Ansicht mittels Plus-Symbol den Wert „Enforce Protocol“ in die Listansicht zu holen. So kann man wenigstens alle Seiten einer Ebene in einem Rutsch abarbeiten.) - Bei den Seiteneinstellungen kann man unter „Resources“ auf der Startseite der Domain gleich unter Page TS Config folgendes eintragen:
1TCAdefaults.pages.url_scheme = 2
Das sorgt dafür, dass neu angelegte Seiten gleich den Wert „https://“ als Protokoll bekommen. - Im Typoscript Template folgendes eintragen:
12config.absRefPrefix = https://www.domain.com/config.baseURL >
Sollten noch config.baseURL-Einträge vorhanden sein können diese mit absRefPrefix ersetzt werden (sofern Typo3 >= 6.2). Bei der Domain nun als Protokoll ebenso https:// einsetzen.
Das wars :-).
Hallo!
Dank für deinen Blogbeitrag. Dieser hat mir sehr geholfen. Leider stimmt die Rewriterule so nicht.
Seite ohne www. werden so nicht umgeleitet. Besser wäre die Umleitung bei Port 80 auf die https-Seite:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.mynode.at/$1 [R=301,L]
Danke Gerald – da bin ich drübergestolpert. htaccess ist (leider noch immer) nicht so mein Metier :-).
Die Weiterleitung von non-www hatte ich bei mir in Typo3 schon drin – deswegen hab ich das nicht gemerkt.
Danke – oben ergänzt,
LG Andi
Mal für Anfänger:
Wo trage ich die Codes oder Snippletts ein?
in der .htaccess, im TypoScript?
ich habe eine Typo3 installation laufen unter:
http://domain.de/cms/
eine .php-Datei schiebt mit eine Weiterleitung in das Verzeichnis /cms/
Das Snipplet trage ich in der .htaccess ein?
# Redirect von www und non-www zu https
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.de/cms/$1 [R=301,L]
___________________________
Andere Hinweise arbeiten mit einer Erweiterung /SSL-Helper/
____________________________________
wieder andere fügen im TypoScript die Zeile ein:
TCAdefaults.pages.url_scheme = 2
und setzen in die .htaccess:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_HOST} ^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]
Ich bin im Moment ziemlich verwirrt
Genau, das z.B. gehört in das .htaccess File:
___________________________
# Redirect von www und non-www zu https
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.de/cms/$1 [R=301,L]
___________________________
Die anderen zwei Code-Snippets und Punkt 2 und 3 wie oben steht wie folgt:
– Das von Punkt 2 kommt in das Page TS Config
– Das von Punkt 3 kommt in das Typoscript Setup
Der zweite von dir gepostete .htaccess-Code macht im Prinzip das gleiche wie der vom Beitrag hier. Es wird nur nicht abgefragt ob der Aufruf von Port 80 kommt sondern eben wenn der Aufruf ungleich Port 443 ist, dann leite weiter.
Ich werds gleich ausprobieren, Danke
Hallo,
aber wie funktioniert das denn, wenn ich so eine Multi-Domain-Installation habe, von der du oben schreibst?
Hatte mir das so gedacht:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Funktioniert leider nicht.
Gruß
Jan
Also ich habe die non-SSL Weiterleitung in meiner Multi-Domain Typo3-Installation so drinnen je Domain:
# Redirect von www und non-www zu https
RewriteCond %{HTTP_HOST} ^domain1.de [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain1.de [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain1.de/$1 [R=301,L]
# Redirect von www und non-www zu https
RewriteCond %{HTTP_HOST} ^domain2.de [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain2.de [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain2.de/$1 [R=301,L]