contao/import — Issue #3552: Subdomain wildcards
Author: importer
Created: 2011-11-29 21:47:21+00:00
State: open
Labels: Feature, frontend, Pending

Wünschenswert wäre, wenn man in den DNS-Einstellungen einer Rootseite ähnliche Wildcard-Funktionalitäten wie beim "echten" DNS bzw. bei Cookies hat:
Rootpage-DNS: ".domain.tld"
Diese Rootpage reagiert nun zum Beispiel auf "germany.domain.tld", "articles.domain.tld" sowie natürlich auf "domain.tld"
Weiterhin werden Cookies auf ".domain.tld" gesetzt, sodass Logins überall verfügbar sind.

Im Patch ist eine modifizierte Frontend.php, die entsprechend die richtige Rootseite auswählt (und ich hab die Query im allgemeinen etwas aufgeräumt).

Probleme mit der Wildcard-Variante:
Es gibt nur ein Problem mit Cookies:
Angenommen ich hab eine Rootseite für ".domain.tld" und eine für "(.)sub.domain.tld", dann würden alle Cookies von ".domain.tld" auch in der "(.)sub.domain.tld" sichtbar sein, was zu Komplikationen führen kann. Eine solche Konfiguration ist auf jeden Fall unsauber, wenn die Unterscheidung der Cookies zwingend ist, denn das ist eine Limitierung des Cookie-Systems, nicht der Wildcard-Lösung die ich hier vorschlage.

Was noch zusätzlich zum gelieferten Patch angepasst werden muss:
- Controller::getPageDetails() anpassen: $objPage->originalDNS = $objPage->dns setzen und testen, ob es eine "Wildcard-Domain" ist via strncmp($objPage->dns, '.', 1), wenn ja dann $objPage->dns = substr($objPage->dns, 1) setzen.
- System::setCookie() anpassen, damit auf Wildcard-Domains gesetzt wird. Schön wärs, wenn man hier die Cookie-Domain via Parameter übergeben kann (falls noch nicht so implementiert), andernfalls wird global $objPage->originalDNS verwendet (falls strlen > 1), sonst $this->Environment->host
- Weiterhin sollte unbedingt ein INDEX für die Spalte "type" in "tl_page" angelegt werden. Das würde die Performance der RootPageSelection enorm steigern.

[Download the attachments](http://www.contao.org/tl_files/tickets/3552.zip "Download the attachments of this ticket")

--- _Originally created by backbone on October 17th, 2011, at 04:11am (ID 3552)_