alternative Domains mit WordPress und Buddypress

So schoen es ist, dass mit WordPress mehrere Subdomains moeglich sind. Und so essenziell wichtig das vor allem fuer griffige Domains mit Buddypress ist. Sobald nicht nur die Subdomain der WordPress-Installation sondern die gesamte Domain geaendert werden soll, wird es kniffelig.

Domain aendern

Domain in WP aendern

Grundsaetzlich laesst sich die Domain einer Installation ueber den Punkt „Seiten“ im linken Menu unter Netzwerkverwaltung aendern. Einfach „alle Seiten“ auflisten und dann bei der gewuenschten Installation auf „editieren“ klicken. Gewuenschte Domain eintragen und fertig. Fast 😉 Natuerlich muss auch der Webserver so konfiguriert sein, dass er auf die neue Domain reagiert, falls die WP-Installation nicht ohnehin auf alles unter der IP reagiert. Letzteres waere zwar einfach fuer den Hostmaster, aber zugegebenermassen eine bloede Idee. Also lieber die neue Domain zusaetzlich im Webserver registrieren. Im Apachen laesst sich das einfach ueber einen Domain-Alias realisieren. Einfach


ServerAlias example.com

in die Konfiguration des Vhosts eintragen, die config checken und reloaden. Jetzt sollte es zumindest schonmal mit dem Aufruf der Seite unter der neuen Domain klappen. Leider lassen sich dann aber keine neuen Artikel mehr erstellen, weil WordPress das Login in den Admin-Bereich verweigert. Der Cookie zur Authentifizierung wird naemlich noch immer auf die alte Domain gesetzt. Sogar wenn „siteurl und home ebenfalls aktualisieren“ ausgewaehlt war. Gluecklicherweise laesst sich die Cookie-Domain in WordPress aber auch konfigurieren. Die Frage, ob der zusaetzlich notwendige Eingriff uebers Filesystem nun ein Bug oder Feature meiner WordPress-Installation ist, will ich mal ignorieren und die Loesung praesentieren: In der „wp-config.php“ oberhalb von „require_once(ABSPATH . ‚wp-settings.php‘);“ einfach die folgende Zeile einfuegen


define('COOKIE_DOMAIN','example.com');

Wobei wie immer natuerlich „example.com“ entsprechend mit der eigenen Domain zu ersetzen ist 😉 Nun klappt auch das Login in den Admin-Bereich unter http://example.com/wp-admin/ Leider aber auch nur unter dieser Domain, was fuer eine Installation mit dynamischen (Sub-)Domains wie sie Buddypress bietet irgendwie nicht ganz optimal scheint.

Spaetestens an der Stelle sollte die Frage erlaubt sein, wieso sich eine Anwendung (WordPress/Buddypress) ueberhaupt fuer die Konfiguration der Infrastruktur (Host-Adressierung) verantwortlich fuehlen will. Als zusaetzliches „Sicherheit-Feature“ vielleicht noch verstaendlich. In der Praxis aber garantiert regelmaessig genauso grosser Bloedsinn wie Rollen-Konzepte, die sich ueber Rechte legen. Das kann gut gehen, verkompliziert aber die Konfiguration und fuehrt damit fast zwangslaeufig zu neuen Einfallstoren…

Doch zurueck zum Login-Problem des Admin-Bereichs. Die Cookie-Domain laesst sich auch dynamisieren. Einfach obige Zeile in der wp-config.php ersetzen durch


define('COOKIE_DOMAIN',$_SERVER[HTTP_HOST]);

Damit wird WordPress automatisch die Domain der aufgerufenen Seite als die uebergeben, welche auch fuer den Keks zur Authentifizierung verwendet werden soll.

Dieser Beitrag wurde unter Allgemein, Systemadministration, Wordpress veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

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