Wordpress MU Multidomain- Fähig durch Domainmapping
Standardmäßig kommt Wordpress MU, die Multiblog- Solution auf Wordpressbasis nicht Multidomainfähig daher. Wenn aber die User über eine vollwertige Toplevel- Domain auf Ihren Blog zugreifen wollen ist Handarbeit angesagt:
1. Blog hinzufügen: userdomain.wpmudomain.de
2. Neue „Site“ in über Site-Plugin erstellen.
Site Name: userdomain
Domain: userdomain.de (ohne www!)
Path: /
Clone Site: Ja, dies kopiert die Einstellungen des WPMU-Blogs.
Beispiel: Die „allowed-Themes“ stehen sonst nicht zur Verfügung.
Hier muss evtl. noch in der Tabelle wp_site_meta händisch angepasst werden.
3. In Tabelle wp_blogs die Site-id des unter 1. erstellten Blogs (userdomain.wpmudomain.de) auf die Id der unter 2. erstellten Site setzen,
“Domain” auf userdomain.de setzen.
4. In der Options- Tabelle des Blogs wp_[blogid]_options ALLE Domaineinträge des Blogs (http://userdomain.wpmudomain.tld/) durch http://www.userdomain.de ersetzen. Meist sind dies 3 Einträge.
5. DNS-Eintrag der Domain ändern: A- Eintrag der userdomain.de auf die IP-Adresse des WPMU- Servers.
6. In der VHOST_config einen Server Alias hinzufügen.
Beispiel: Die WPMU-Installation ist unter der Domain wpmudomain.de erreichbar,
dann suche den V-Host Eintrag für „wpmudomain.de“ und füge
ServerAlias www.neueDomain.tld
Hinzu, danach den Apache neu starten (apache2 – k restart)
Die Zentralen Punkte sind die vserver-confixx:
<VirtualHost 85.25.xxx.xxx:80>
ServerName wpmudomain.tld
ServerAlias *.wpmudomain.tld
ServerAlias www.singledomain1.tld
ServerAlias singledomain1.tld
ServerAlias www.singledomain2.tld
ServerAlias singledomain2.tld
DocumentRoot /var/www/web6/html/wpmu
SuexecUserGroup web6 ftponly
ScriptAlias /cgi-bin/ /var/www/web6/html/cgi-bin/
CustomLog /var/www/web6/log/access_log confixx2
php_admin_value open_basedir /var/www/web6/:/var/www/phpmyadmin/:/var/www/confixx/html/gesperrt/
php_admin_value upload_tmp_dir /var/www/web6/phptmp/
</VirtualHost>
Und die htaccess:
php_flag register_globals 0
php_flag display_errors 0
RewriteEngine On
RewriteBase /
# Rewrite www.domain.com to domain.com
#RewriteCond %{HTTP_HOST} ^www\.(.*)
#RewriteRule ^(.*) http://%1/$1 [R,L]
#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
Um schöne Permalinks der Form %category% ohne das prefix /blog zu bekommen, muss die options-permalinks.php angepasst werden:
Alle Vorkommen von /blog ersetzen.
