Die Kombination einer WordPress Multisite im Root-Verzeichnis und einer unabhängigen WordPress-Installation im Unterverzeichnis ist eine interessante und oft gewünschte Konfiguration für Nutzer, die verschiedene Websites unter einer Domain betreiben wollen. Diese Konfiguration ermöglicht es, eine zentrale Multisite-Installation für mehrere Subseiten zu haben, während gleichzeitig eine separate WordPress-Installation für eine spezifische Seite im Unterverzeichnis betrieben wird.
Inhaltsverzeichnis
Doch wie oft bei WordPress-Konfigurationen, stößt man dabei auf einige Herausforderungen – insbesondere bei der Erreichbarkeit der bereits existierenden WordPress-Seite im Unterverzeichnis, wenn eine Multisite im Root-Verzeichnis installiert wird. In diesem Artikel erklären wir, warum dieses Problem auftritt und wie man es mithilfe einer Anpassung der .htaccess
-Datei beheben kann.
Warum kann ich nicht auf meine WordPress-Seite im Unterverzeichnis zugreifen, wenn eine Multisite im Root-Verzeichnis installiert ist?
Wenn du eine neue WordPress Multisite im Root-Verzeichnis deiner Domain installierst, überschreibt WordPress einige grundlegende URL- und Rewrite-Regeln, die den Zugriff auf Unterverzeichnisse beeinflussen können. Multisite-Netzwerke setzen eine Reihe von speziellen Rewrite-Regeln in der .htaccess
-Datei und der wp-config.php
-Datei um, um die Verwaltung von Subdomains oder Unterverzeichnissen für die Netzwerk-Seiten zu ermöglichen.
Wenn du jedoch bereits eine unabhängige WordPress-Installation in einem Unterverzeichnis (z.B. meineseite.de/unterverzeichnis/
) betreibst, kann die URL-Struktur, die für das Netzwerk von Multisite verwendet wird, dazu führen, dass die Rewrite-Regeln der Multisite auch auf dein Unterverzeichnis angewendet werden, was dazu führt, dass du nicht mehr auf die existierende WordPress-Seite zugreifen kannst. Dies liegt daran, dass das WordPress-Netzwerk automatisch versucht, alle Anfragen zu verarbeiten, einschließlich derjenigen für das Unterverzeichnis, was zu einer „Fehlermeldung“ oder einer Umleitung führt.
Wie kann ich das Problem beheben und meine WordPress-Seite im Unterverzeichnis weiterhin zugänglich machen?
Das Problem lässt sich durch eine gezielte Anpassung der .htaccess
-Datei beheben. Die .htaccess
-Datei enthält Regeln, die steuern, wie der Webserver (Apache) URLs umleitet und welche Seiten geladen werden. Um sicherzustellen, dass die Multisite im Root-Verzeichnis funktioniert, ohne die WordPress-Installation im Unterverzeichnis zu beeinträchtigen, kannst du die folgenden Schritte befolgen.
Schritt 1: Sicherstellen, dass die WordPress-Installation im Unterverzeichnis korrekt konfiguriert ist
Zunächst solltest du sicherstellen, dass deine bestehende WordPress-Installation im Unterverzeichnis korrekt konfiguriert ist. Du kannst dies überprüfen, indem du die folgenden Konfigurationsdateien in deiner Unterverzeichnis-Installation anpasst:
wp-config.php – In der wp-config.php
-Datei sollte der Wert für WP_SITEURL
und WP_HOME
den korrekten Pfad zur Installation im Unterverzeichnis enthalten:
define('WP_SITEURL', 'https://meineseite.de/unterverzeichnis');
define('WP_HOME', 'https://meineseite.de/unterverzeichnis');
Schritt 2: Anpassung der .htaccess-Datei im Root-Verzeichnis
Nun musst du die .htaccess
-Datei im Root-Verzeichnis anpassen, um sicherzustellen, dass die Anfragen für das Unterverzeichnis weiterhin korrekt verarbeitet werden. Öffne die .htaccess
-Datei im Root-Verzeichnis und stelle sicher, dass sie folgende Regeln enthält:
Multisite Rewrite-Regeln: Die Standard-WordPress-Multisite-Rewrite-Regeln für das Root-Verzeichnis müssen an erster Stelle stehen. Diese Regeln sorgen dafür, dass WordPress das Netzwerk korrekt verarbeitet.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Spezielle Regeln für das Unterverzeichnis: Du musst eine Ausnahme für das Unterverzeichnis einrichten, damit der Webserver nicht versucht, alle Anfragen auch für die Seite im Unterverzeichnis umzuleiten. Du kannst dies erreichen, indem du spezifische Rewrite-Regeln für das Unterverzeichnis hinzufügst, bevor die allgemeinen Multisite-Regeln geladen werden.
# Ausnahme für das Unterverzeichnis
RewriteCond %{REQUEST_URI} ^/unterverzeichnis/
RewriteRule ^(.*)$ /unterverzeichnis/$1 [L]
So sieht das ganze dann aus:
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# Stelle sicher, dass /blog und /t nicht von der Multisite beeinflusst werden
RewriteCond %{REQUEST_URI} ^/blog(/.*)?$ [NC]
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} ^/t(/.*)?$ [NC]
RewriteRule ^ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-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]
</IfModule>
# END WordPress
Schritt 3: Testen und Überprüfen
Nachdem du die .htaccess
-Datei angepasst hast, solltest du die Änderungen testen:
- Zugriff auf das Root-Verzeichnis: Überprüfe, ob die WordPress Multisite im Root-Verzeichnis ordnungsgemäß funktioniert und du auf das Netzwerk zugreifen kannst.
- Zugriff auf das Unterverzeichnis: Teste, ob du weiterhin auf die bestehende WordPress-Seite im Unterverzeichnis zugreifen kannst, ohne dass du auf eine Umleitungsseite oder Fehlerseite weitergeleitet wirst.
Falls alles richtig konfiguriert ist, solltest du nun beide WordPress-Installationen parallel betreiben können, ohne dass sie sich gegenseitig stören.
Fazit
Die Kombination einer WordPress Multisite im Root-Verzeichnis und einer unabhängigen WordPress-Installation im Unterverzeichnis ist eine leistungsstarke Möglichkeit, mehrere Websites unter einer Domain zu verwalten. Allerdings erfordert diese Konfiguration einige Anpassungen an der .htaccess
-Datei, um sicherzustellen, dass beide Installationen reibungslos zusammenarbeiten. Mit den richtigen Rewrite-Regeln kannst du das Problem des Zugriffsverlustes auf deine WordPress-Seite im Unterverzeichnis beheben und sowohl die Multisite als auch die separate WordPress-Seite im Unterverzeichnis erfolgreich betreiben.