Contao Error: Seite nicht gefunden, da in Großbuchstaben

Kennst du das Problem, dass du in den Error-Logs und System-Logs von Contao Fehlermeldungen nach folgendem Schema hast?

2025-04-15T04:19:58.409135+02:00] contao.error.ERROR: Page ID "123" was requested via "www.DOMAIN.DE" but can only be accessed via "www.domain.de" (https://www.DOMAIN.DE/) [] {"contao":{"Contao\\CoreBundle\\Monolog\\ContaoContext":"{\"func\":\"Contao\\\\FrontendIndex::renderPage\", \"action\":\"ERROR\",\"username\":\"anon.\",\"browser\":\"Mozilla\\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\\/537.36 (KHTML like Gecko) Chrome\\/133.0.0.0 Safari\\/537.36\"}"}}

Das Problem entsteht dadurch, dass du eine Domain im Seitenstartpunkt festgelegt und diese – logischerweise – in Kleinbuchstaben angelegt hast.

Und vielleicht hast du dich schon gewundert, dass du beim Aufruf der Domain in Großbuchstaben die korrekte Seite, statt einer Fehlerseite angezeigt bekommst. Wie kommt es also überhaupt zu dem Problem?

Die Antwort ist in den meisten Fällen: Bots bzw. Crawler rufen die Website auf und nutzen einen Headless Browser oder die Kommandozeile. Du kannst es selbst testen, indem du

curl -I https://WWW.DEINEDOMAIN.DE/

über die Kommandozeile aufrufst. Vermutlich bekommst du einen 404 Fehler als Antwort.

Die Lösung

Um diese Fehlermeldungen zukünftig zu vermeiden, kannst du folgende Zeilen in deiner .htaccess ergänzen:

RewriteCond %{HTTP_HOST} [A-Z]
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]

Damit werden alle Aufrufe der Domain mit einem oder mehreren Großbuchstaben zur Variante mit Kleinbuchstaben weitergeleitet.

Solltest du bereits andere Weiterleitungen angelegt haben, dann stelle sicher, dass die neue Regel nicht mit deinen bisherigen in Konflikt steht. Im Zweifel stellst du die neue Weiterleitung möglichst weit ans Ende.