Bei einer Multisite entscheidet ihr euch ganz am Anfang dafür, ob ihr sie mit Subdomains oder Unterverzeichnissen betreiben möchtet – ein Mix aus beiden Varianten ist nicht ohne Anpassungen möglich. Hier stelle ich euch vor, wie ihr vorgehen müsst, um eine Multisite mit Subdomain- und Unterverzeichnis-Sites zu betreiben.
Ich habe meine Site kürzlich von .de
auf .com
umgezogen und die englische Version von en.florianbrinkmann.com
auf florianbrinkmann.com/en
. Problem dabei: Neben der englischen Variante sind noch die ganzen Theme-Demos Teil meiner Multisite, und die bleiben als Subdomains bestehen. Ich brauchte also eine Mischung aus Subdomains und Unterverzeichnissen in einer Multiste.
Glücklicherweise haben sich bereits andere mit diesem Thema auseinandergesetzt, und so bin ich bei meiner Recherche auf den Artikel »WordPress Multisite: (Sub-)Domains und Sub-Directories kombinieren« von David Naber sowie auf »WordPress Multisite mit mehreren Domains einrichten« von Thomas Scholz gestoßen, die sehr hilfreich waren.
Hier die Schritte, die ich zur Umstellung meiner Website gemacht habe (ausgehend von einer Multisite, die auf Subdomains eingestellt ist):
define( 'NOBLOGREDIRECT', 'https://example.com' );
in diewp-config.php
eintragen, um die Registrierung neuer Sites im Frontend zu deaktivieren (natürlich mit eurer Domain 🙂 ). Eventuell müsst ihr nun nochremove_action( 'template_redirect', 'maybe_redirect_404' );
in diefunctions.php
eures Themes oder besser in ein (MU-)Plugin schreiben, damit 404-Fehler korrekt funktionieren und nicht zur Hauptdomain umgeleitet werden.- Folgende Cookie-Konstanten in die
wp-config.php
eintragen:define( 'ADMIN_COOKIE_PATH', '/' ); define( 'COOKIEPATH', '' ); define( 'SITECOOKIEPATH', '' );
Ohne diese Konstanten müsstet ihr euch auf der Unterverzeichnis-Installation einloggen, auch wenn ihr bereits auf der Hauptdomain oder einer Subdomain-Site eingeloggt seid. Ansätze für die Lösung habe ich aus den verlinkten Beiträgen und einer Antwort im WordPress.org-Forum.
- Die Rewrite-Regeln von WordPress in der
.htaccess
so ändern, dass sie den Regeln einer Unterverzeichnis-Installation entsprechen, damit auf das Backend der Unterverzeichnis-Installation(en) zugegriffen werden kann:RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L]
- Eine neue Site in der Multisite erstellen (Subdomain ist egal).
- Die Informationen der Website öffnen und in das Domain-Feld die Hauptdomain mit dem gewünschten Unterverzeichnis eintragen. Bis vor einigen WordPress-Versionen gab es hier noch ein extra Feld für den Pfad.
- Fertig. 🎉
Falls ihr ebenfalls nachträglich eine Website von einer Subdomain auf ein Unterverzeichnis umzieht, denkt an die Redirects! Ein Beispiel zur Weiterleitung einer Subdomain auf ein Unterverzeichnis findet ihr bei Stack Overflow.
Hallo Florian,
ich habe es nicht recht verstanden. Soll das heißen, dass man z.B. in Subdomains eine WP Multisite mit Verzeichnisstruktur anlegen kann?
Beispiel:
http://domain.de.tempserver.your-server.de/de
http://domain.de.tempserver.your-server.de/en
...
Hi!
Nein, das wäre nur eine ganz normale Unterverzeichnis-Multisite, die auf einer Subdomain installiert wurde. Was du mit der Lösung aus dem Beitrag erreichen kannst, ist hier auf meiner Site im Einsatz: ich habe die Website
florianbrinkmann.com
– die Hauptseite der Multisite. Dann habe ich eine weitere Siteflorianbrinkmann.com/en
in der Multisite, also ein Unterverzeichnis, und mehrere Subdomain-Sites, zum Beispielphotographus.florianbrinkmann.com
, die ebenfalls Teil derflorianbrinkmann.com
-Multisite sind.Normalerweise wäre es ja nur möglich, entweder Unterverzeichnis-Sites zur
florianbrinkmann.com
-Multisite-Installation anzulegen, oder Subdomain-Sites.Hoffe das war verständlich 🙂
Viele Grüße
Florian
Hallo allerseits
Genau das hätte ich auch gern, aber evtl hat sich ja was geändert. Das Login nach Erledigung aller Schritte endete mit einem reload der Anmelde-Seite und wieder leeren Loginfeldern.
Ich habe aktuell eine Multisite Installation via sub.domain
Grüße Thomas
Hi Thomas,
hast du mal alle Cookies für die Domain gelöscht? Vielleicht liegt es daran. Bei mir ist die Lösung so noch am Laufen und funktioniert.
Viele Grüße
Florian
Hallo Florian,
Ich suche schon länger nach einer Lösung, wie ich mein Webprojekt in einer Multisite vereinen kann. Bin jetzt dabei das ganze neu aufzubauen nachdem ich es immer etwas herausgezögert hatte. Dabei bin ich auf deinen Post gestossen, stehe aber ehrlich gesagt noch immer etwas auf dem Schlauch.
Was ich wünsche ist – wie im ersten Kommentar bereits erwähnt – eine Unterverzeichnis-Multisite, welche auf einer Subdomain installiert wurde. Zusätzlich soll in dieses Netzwerk eine Hauptseite mit «gewöhnlicher» URL integriert werden.
Aufbau:
project.com - Hauptseite
subdomain.project.com/seite2
subdomain.project/seite3
Ist das in einer Multisite überhaupt umsetzbar?
Grüsse,
Sandro
Hi Sandro,
da bin ich nicht sicher. Du könntest versuchen, das über Domain-Mapping hinzubekommen, es gibt da ein Plugin für (habe ich keine Erfahrung mit): https://de.wordpress.org/plugins/wordpress-mu-domain-mapping/.
Oder eventuell funktioniert es auch ohne Plugin (https://codex.wordpress.org/WordPress_Multisite_Domain_Mapping), in etwa so:
.htaccess
auf example.com umleiten)Ich bin nicht sicher, ob das funktioniert, aber einen Versuch wäre es wert 🙂
Viele Grüße
Florian
Hey Florian,
Mit der direkten Installation auf Subdomain-Basis gemischt mit dem MU Domain Mapping Tool sollte es wirklich klappen. Habe das ganze aber nochmals überdacht und verzichte vielleicht ganz auf die Subdomains, sondern wähle doch eine Subdirectory Struktur. Das Problem ist, dass das Storytelling Tool «Linius» das ich verwenden möchte für jeden Beitrag/Reportage eine neue Installation benötigt aber gar nicht wirklich als eigenständige Seite erkennbar sein soll, sondern in die Main-Page integriert werden sollte … Jedenfalls danke ich dir für deine rasche Antwort!
Alles gute,
Sandro
Hi Sandro,
Gerne!
Ja, wenn du nicht unbedingt auf diese Struktur festgelegt bist, wäre das jedenfalls das einfachste. Oder du nimmst Subdomains für die einzelnen Storys (also statt einer Unterverzeichnis-Multisite eine Subdomain-MU) statt Unterverzeichnisse, und hättest so eine etwas größere Trennung.
Viele Grüße
Florian