Gabriele Meiler Ich habe testweise mal ein neues DDEV-Projekt mit 2 TYPO3-Instanzen angelegt, die sich in der von dir beschriebenen Art nun erfolgreich aufrufen lassen. Dazu habe ich, wie von @Mogens Fiebrandt empfohlen, einen Symlink angelegt von ./website-a.de/public/inhaltwebsiteb/
nach ./website-b.de/public/
.
Der Aufbau sieht nun wie folgt aus:
.
├── .ddev
│ ├── config.yaml
│ └── ...
├── website-a.de
│ ├── composer.json
│ ├── composer.lock
│ ├── config
│ │ ├── sites
│ │ └── system
│ ├── packages
│ │ └── sitepackage
│ ├── public
│ │ ├── .htaccess
│ │ ├── _assets
│ │ ├── fileadmin
│ │ ├── index.php
│ │ ├── inhaltwebsiteb -> ../../website-b.de/public/
│ │ ├── typo3
│ │ ├── typo3conf
│ │ └── typo3temp
│ ├── var
│ │ └── ...
│ └── vendor
│ └── ...
└── website-b.de
├── composer.json
├── composer.lock
├── config
│ ├── sites
│ └── system
├── packages
│ └── sitepackage
├── public
│ ├── .htaccess
│ ├── _assets
│ ├── fileadmin
│ ├── index.php
│ ├── typo3
│ └── typo3temp
├── var
│ └── ...
└── vendor
└── ...
In DDEV hatte ich neben der Standard-Datenbank db
noch eine weitere db2
angelegt, die von "website-b.de" verwendet wird.
In der Site Configuration von Website A steht:
base: 'https://website-a.de.ddev.site/'
In der Site Configuration von Website B steht:
base: 'https://website-a.de.ddev.site/inhaltwebsiteb/'
In der jeweiligen settings.php
habe ich per Parameter sitename
zwischen "WEBSITE A" und "WEBSITE B" unterschieden. Um direkt nach dem Login auch den Unterschied im Backend erkennen zu können.
Der Login in beiden Instanzen funktioniert. Wenn ich jeweils unterschiedlichen Content eintrage, wird dieser auch entsprechend in der jeweiligen Instanz im Frontend sichtbar. Es scheint also jede Instanz so in sich sowohl im Backend als auch im Frontend zu funktionieren.
Die Nutzung von DDEV war nur dem Test-Szenario geschuldet. Das lässt sich auch ohne DDEV so konfigurieren. Ich denke neben dem Symlink ist es wichtig die richtige Base-Konfiguration in der Site Configuration zu setzen, damit TYPO3 das Unterverzeichnis in den Pfaden berücksichtigt. Eine zusätzliche Anpassung in der .htaccess
war so gar nicht erforderlich. Hier habe ich in beiden Projekten den Standard verwendet.
Randnotiz:
Cache leeren in DDEV ging bei diesem Aufbau nicht auf dem herkönmmlichen Weg ddev typo3 cache:flush
. Das muss natürlich dann Instanz-spezifisch ausgelöst werden:
ddev exec website-a.de/vendor/bin/typo3 cache:flush
ddev exec website-b.de/vendor/bin/typo3 cache:flush
Das mit den unterschiedlichen PHP-Versionen je nach genutztem Verzeichnis ist eher ein Server-Thema. Da kann vielleicht jemand anderes hier im Forum noch weiter helfen. Ich weiß z.B. dass man bei Mittwald die PHP Version nur für das ganze Projekt konfigurieren kann während man bei Hosteurope die PHP Version je nach Verzeichnis einstellen kann. Welche Gegebenheiten genau auf Serverseite notwendig sind, um letzteres zu ermöglichen, kann ich allerdings nicht genau beantworten.