it-swarm.com.de

WordPress Multisite mit Domain Mapping und Virtual Host auf lokaler mit gefälschter Domain

Ich habe überall gesucht und viele Tutorials zum Einrichten einer Domänenzuordnung für mehrere Standorte und sogar zum Verwenden virtueller Hosts auf meinem lokalen Computer gefunden, aber ich kann scheinbar nicht herausfinden, wie ich all diese Aufgaben ausführen kann.

Ich möchte, dass WordPress Multisite auf meinem Localhost mit falschen Domain-Namen wie mysite-1.dev, mysite-2.dev, mysite-3.dev usw. ausgeführt wird.

Ich verwende XAMPP mit Apache auf einem Windows-Computer. In der Datei httpd-vhosts muss ich einen Ordner angeben, in den die gefälschte Domain wechseln soll, aber wenn ich WordPress Multisite verwende, bin ich mir nicht sicher, wie das geht.

Hier ist ein Teil meiner httpd-vhost-Datei:

<VirtualHost *:80>
    DocumentRoot "C:/home/mysite-1"
    ServerName mysite-1.dev
    Alias /mysite-1.dev "/home/mysite-1"
<Directory "/home/mysite-1">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/home/mysite-2"
    ServerName mysite-2.dev
    Alias /mysite-2.dev "/home/mysite-2"
<Directory "/home/mysite-2">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/home/mysite-3"
    ServerName mysite-3.dev
    Alias /mysite-3.dev "/home/mysite-3"
<Directory "/home/mysite-3">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

In meiner Hosts-Datei habe ich:

127.0.0.1   mysite-1.dev
127.0.0.1   mysite-2.dev
127.0.0.1   mysite-3.dev

Ich habe Multisite in WordPress eingerichtet und die Dateien wp-config.php und .htaccess nach Bedarf eingegeben.

Die wp-config.php-Datei lautet wie folgt:

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'mysite-1.dev');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define( 'SUNRISE', 'on' );
define('WP_TEMP_DIR',ABSPATH.'wp-content/uploads/');

Und .htaccess ist wie folgt:

# BEGIN WordPress
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 ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress

Wenn ich das Setup auf diese Weise durchführe und zu mysite-2.dev und mysite-3.dev gehe, wird es im Ordner angezeigt, und in c:/home/mysite-2.dev und c:/home/mysite-3.dev ist nichts enthalten, sodass ein Fehler angezeigt wird:

Rufen Sie die undefinierte Funktion wp_get_current_user () auf.

In c:/home/mysite-1.dev enthält es alle WordPress-Multisite-Dateien, Plugins, Designs usw., sodass es problemlos funktioniert.

Ich weiß, dass dies wahrscheinlich ein Konfigurationsproblem ist, bin mir aber nicht sicher, wie ich es richtig einrichten soll. Kann mich jemand in die richtige Richtung weisen, um eine WordPress-Multisite mit gefälschten Domains und Domain-Mapping einzurichten?

Vielen Dank im Voraus!

3
stormchaser

DocumentRoot für jede VirtualHost sollte auf das Verzeichnis verweisen, in dem Sie WP multisite installiert haben. Es gibt kein aktuelles Verzeichnis für Unterwebsites, sie sind alle virtuell.

Verwenden Sie Ihr Beispiel:

<VirtualHost *:80>
    DocumentRoot "C:/home/wp-intall-directory"
    ServerName mysite-1.dev
    # not required Alias /mysite-1.dev "/home/mysite-1"
    <Directory "/home/wp-intall-directory">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/home/wp-intall-directory"
    ServerName mysite-2.dev
    # not required Alias /mysite-2.dev "/home/mysite-2"
    <Directory "/home/wp-intall-directory">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
.
.
.
1
BillK