WordPress-Multisite mit einer Mischung aus Subdomains und Unterverzeichnissen

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):

  1. define( 'NOBLOGREDIRECT', 'https://example.com' ); in die wp-config.php eintragen, um die Registrierung neuer Sites im Frontend zu deaktivieren (natürlich mit eurer Domain 🙂 ). Eventuell müsst ihr nun noch remove_action( 'template_redirect', 'maybe_redirect_404' ); in die functions.php eures Themes oder besser in ein (MU-)Plugin schreiben, damit 404-Fehler korrekt funktionieren und nicht zur Hauptdomain umgeleitet werden.
  2. 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.

  3. 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]
  4. Eine neue Site in der Multisite erstellen (Subdomain ist egal).
  5. 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.
  6. 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.

Das könnte auch interessant sein

6 Kommentare zu »WordPress-Multisite mit einer Mischung aus Subdomains und Unterverzeichnissen«

    1. Florian Brinkmann

      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 Site florianbrinkmann.com/en in der Multisite, also ein Unterverzeichnis, und mehrere Subdomain-Sites, zum Beispiel photographus.florianbrinkmann.com, die ebenfalls Teil der florianbrinkmann.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

      Antworten
  1. Sandro

    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

    Antworten
    1. Florian Brinkmann

      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:

      1. Installiere eine Unterverzeichnis-Installation auf subdomain.example.com (das Frontend kannst du dann via .htaccess auf example.com umleiten)
      2. Erstell in der Multisite die gewünschten Unterverzeichnis-Installationen (also example.com/seite1, example.com/seite2, et cetera).
      3. Erstelle einer weitere Installation in der Multisite, bei der du die Domain dann auf example.com veränderst (Änderung der Domain wie oben im Beitrag beschrieben).

      Ich bin nicht sicher, ob das funktioniert, aber einen Versuch wäre es wert 🙂

      Viele Grüße
      Florian

      Antworten
      1. Sandro

        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

        Antworten
        1. Florian Brinkmann

          Hi Sandro,

          »Jedenfalls danke ich dir für deine rasche Antwort!«

          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

          Antworten

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.