it-swarm-pt.tech

WordPress multisite com mapeamento de domínio e host virtual no local com domínio falso

Eu procurei por todos os lugares e encontrei muitos tutoriais sobre como configurar um multi-site, mapeamento de domínio e até mesmo usar hosts virtuais em minha máquina local, mas não consigo descobrir como fazer todos eles.

Eu gostaria de ter WordPress multisite executado no meu localhost usando nomes de domínio falso, como mysite-1.dev, mysite-2.dev, mysite-3.dev, etc.

Estou executando o XAMPP com o Apache em uma máquina Windows. No arquivo httpd-vhosts, devo especificar uma pasta para o domínio falso, mas se estiver usando o multisite do WordPress, não sei como.

Aqui faz parte do meu arquivo httpd-vhost:

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

No meu arquivo hosts, eu tenho:

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

Configurei o multisite no WordPress e inseri os arquivos wp-config.php e .htaccess conforme necessário.

O arquivo wp-config.php é o seguinte:

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/');

E .htaccess é o seguinte:

# 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

Ao fazer a configuração desta maneira, quando eu vou para o mysite-2.dev e o mysite-3.dev, ele aparece na pasta, e não há nada no c:/home/mysite-2.dev e c:/home/mysite-3.dev, então ele mostra um erro:

Chame para a função indefinida wp_get_current_user ().

Em c:/home/mysite-1.dev, ele possui todos os arquivos multisite do WordPress, plugins, temas, etc., então funciona bem.

Eu sei que isso é provavelmente um problema de configuração, mas não tenho certeza de como configurá-lo corretamente. Alguém pode me apontar na direção certa para definir um multisite WordPress usando domínios falsos e mapeamento de domínio?

Obrigado a todos antecipadamente!

3
stormchaser

DocumentRoot para cada VirtualHost deve apontar para o diretório onde você instalou WP multisite. Não existe um diretório real para subsites, eles são todos virtuais.

Usando o seu exemplo:

<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