Multidomains bei TYPO3 und die Auswirkungen u.a. auf das Standard-Mailformular
Kleiner Fehler, große Wirkung: Da hab ich mal ne Weile gesucht, bis ich die kleine Ungenauigkeit entdeckt hatte.
Folgendes Problem: In einer TYPO3 Installation habe ich nach und nach mehrere Websites mit jeweils eigenen Domains angelegt. Bei einigen dieser Projekte verweisen gleich mehrere Domain unter verschiedenen TLD (Top Level Domain) auf den Inhalt. Bei einer Seite ist mir jetzt aufgefallen, dass das Standard-Mailformular von TYPO3 nicht funktioniert.
Wenn man eine Mail über das Formular verschicken will, wird man zwar auf die angelegte Erfolgsseite weitergeleitet, aber die Mail wird nicht versendet.
Die Problemsuche
- Als erstes habe ich die Mailfunktion von TYPO3 im Installationstool getestet: funktioniert. Auch die Funktion DoNotCheckReferer = 1 war nicht sie Lösung. Also musste es eine Konfigurationssache sein.
Dann habe ich ein bisschen gesucht und bin auf einen Foreneintrag gestoßen, dessen Hinweise ich nach dem Ausschlussprinzip abgearbeitet habe.
- .htaccess-Datei leitet alle Domains (mit und ohne www) per 301 redirect richtig um: check!
Das sieht bei mir so aus:
# Domains einfangen
RewriteCond %{HTTP_HOST} !^www\.domain1\.de$
RewriteCond %{HTTP_HOST} !^www\.domain2\.de$
RewriteCond %{HTTP_HOST} !^www\.domain3\.com$
RewriteRule ^(.*) www.%{HTTP_HOST}/$1 [R=301,L]
Alle weiteren Domains unter anderen TLD hatte ich schon serverseitig (via Konfigurationssoftware) auf die Domain mit der richtigen TLD umgeleitet. Deswegen wird in dem Beispiel per .htaccess-Anweisung nur abgefangen, ob man die Domain mit oder ohne www eingegeben hat.
- Im TS (TypoScript) der betroffenen Seite ist die baseURL definiert: check!
Sah bei mir so aus: config.baseURL = http:// www.domain3.de/
Naaaaa … wem ist es aufgefallen? Ich habe es zig mal überlesen: .de vs. .com. Bei Multidomains innerhalb einer TYPO3-Installation darauf achten, dass man die gleichen TLD überall eingetragen hat. Klingt banal, aber wenn man zig Domains in einer Instanz hat, die sich nur durch die TLD unterscheiden, sucht man so einen kleinen Fehler ewig.
Na vielleicht erspart es dem einen oder anderen die Sucherei.
Formulareinstellungen
Heute bin ich wieder über eine Banalität gestolpert, die mich 1-2 Stunden aufgehalten hat
Ich habe festgestellt, dass in einer Installation mit mehreren Websites auf einer davon das Mailformular nicht senden wollte. Stattdessen wurde ich beim absenden immer wieder aufgefordert meine Eingaben zu überprüfen. Mit den Angaben oben, konnte diese Fehler diesmal aber ausschließen.
Machen wir es kurz:
- Im name-Attribut keine Großbuchstaben verwenden (warum auch immer sowas mittlerweile nicht abgefangen wird … dank geht an froemken)
- UND keine name-Attribute doppelt verwenden. Weil es schnell gehen sollte hatte ich für Vor- und Nachname den Standard drin gelassen …
Noch was vergessen?