Como usar o Wordpress Multisite com nomes de domínio diferentes?

10

Eu quero trabalhar com o WordPress multisite, mas quero poder usar meus próprios nomes. Por exemplo, meu site principal é chamado de example.com . Se eu quiser adicionar um novo site à minha rede multisite, ele será chamado de newsite.example.com . Eu quero que seja newsite.com sem example . Existe uma maneira de conseguir isso?

Eu ouvi falar sobre mapeamento de domínio com um plug-in, mas não sei se isso é relevante para essa pergunta. Se for relevante, gostaria de saber exatamente o que é isso.

    
por Kevin.a 03.01.2017 / 12:30

2 respostas

14

Parece haver sempre um pouco de confusão sobre esse assunto. Talvez o WordPress possa fazer um trabalho melhor orientando seus usuários nesse processo. Embora, suponha que o Multi-site não tenha sido usado para TLDs.

Então, primeiro de tudo, eu instalo o WordPress , configure multisite e configure-o como uma configuração de rede de subdomínio.

Aqui está uma configuração de amostra para o seu arquivo wp-config.php no diretório base da sua instalação do WordPress:

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'www.primary-domain.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

Então, aqui está a configuração básica para o seu arquivo .htaccess como uma configuração de subdomínio, no diretório base da sua instalação do WordPress:

# BoF 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)$ wp/$1 [L]
RewriteRule . index.php [L]

# EoF WordPress

Agora, para que os TLDs funcionem corretamente, precisei fazer algumas configurações adicionais para o arquivo wp-config.php , como este:

define( 'COOKIE_DOMAIN', '' );
define( 'ADMIN_COOKIE_PATH', '/' );
define( 'COOKIEPATH', '/' );
define( 'SITECOOKIEPATH', '/' );

É isso com as configurações específicas do WordPress.

Pessoalmente, gosto de ter um host virtual Apache para o domínio primário na rede e, em seguida, configurar esse host virtual com domínios de alias. Cada domínio de alias é um dos sites adicionais em sua rede.

No entanto, se você acabar ajustando sua configuração, precisará do DNS de cada domínio para ser resolvido no mesmo servidor da Web e cada domínio será direcionado para o mesmo diretório em que o domínio principal é instalado com o WordPress. Cada domínio em sua rede precisa apontar para o mesmo servidor da Web com registros DNS e compartilhar o mesmo caminho de diretório para os arquivos usados pelo WordPress.

Depois de configurar e configurar tudo corretamente, conforme discutido acima. Faça o login em sua área de administração do WordPress e navegue até a área de administração da rede para adicionar um novo site à sua rede.

Quando você vai adicionar um site, ele é obrigado a adicionar o site como se fosse um subdomínio em seu domínio principal. Apenas role com isso. Digite algo temporário.

Quando o site for adicionado, localize-o na lista de sites da sua rede. Clique em editar nesse site específico. Agora, você pode alterar 100% do nome de domínio desse site. É quando você colocaria o nome de domínio real para este site de DPN.

Eu sei que é um pouco complicado fazer isso, mas funciona e você não precisa usar nenhum plug-in.

    
por Michael Ecklund 03.01.2017 / 15:38
3

É possível sem qualquer plugin desde alguns lançamentos atrás (não me lembro da versão concreta, mas o recurso já existe há algum tempo). No entanto, se você começar do zero, deverá instalar o WordPress multisite no modo subdomínio .

Você precisa declarar um URL principal (provavelmente kevin123.com ) como o URL principal da rede (multisite). Isso é armazenado em wp-config.php na constante DOMAIN_CURRENT_SITE e o site (anteriormente conhecido como »blog«) usando este domínio como URL inicial deve ter o ID armazenado em BLOG_ID_CURRENT_SITE . Mas isso é basicamente o material padrão durante o processo de instalação padrão.

O WordPress permite que você apenas especifique o subdomínio, quando você cria um novo site. Mas depois que o site é criado, você pode editá-lo e adicionar um valor completamente arbitrário para o URL do site. Eu descrevi isso há algum tempo nesta resposta com algumas capturas de tela: Subdomínios aninhados são possíveis com um subsite multi-site?

Você também pode precisar definir a constante COOKIE_DOMAN como um valor vazio no seu wp-config.php :

define( 'COOKIE_DOMAIN', '' );
    
por David 03.01.2017 / 12:48