Come utilizzare Wordpress Multisite con nomi di dominio diversi?


19

Voglio lavorare con il sito multiplo di WordPress, ma voglio essere in grado di usare i miei nomi. Ad esempio il mio sito principale si chiama example.com. Se voglio aggiungere un nuovo sito alla mia rete multisito, verrà chiamato newsite.example.com. Voglio che sia newsite.comsenza example. C'è un modo per raggiungere questo obiettivo?

Ho sentito parlare della mappatura del dominio con un plugin, ma non so se questo sia rilevante per questa domanda. Se è rilevante, vorrei sapere di cosa si tratta esattamente.


Vale la pena notare che per fare a meno di un plug-in dovrai avere un IP dedicato, almeno questo è stato la mia comprensione.
Neal Jones,

Risposte:


25

Sembra esserci sempre un po 'di confusione su questo argomento. Forse WordPress potrebbe fare un lavoro migliore guidando gli utenti in questo processo. Tuttavia, suppongo che Multi-site non fosse destinato a essere utilizzato per i TLD.

Quindi, prima di tutto, installare WordPress , installare il multisito e configurarlo come configurazione di rete del sottodominio.

Ecco una configurazione di esempio per il tuo wp-config.phpfile nella directory di base dell'installazione di 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 );

Quindi, ecco la configurazione di base per il tuo .htaccessfile come configurazione di sottodominio, nella directory di base dell'installazione di 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)$ $1 [L]
RewriteRule . index.php [L]

# EoF WordPress

Ora per far funzionare correttamente i TLD, ho dovuto fare alcune configurazioni aggiuntive al wp-config.phpfile in questo modo:

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

Questo è tutto con le configurazioni specifiche di WordPress.

Personalmente, mi piace avere un host virtuale Apache per il dominio primario nella rete e quindi configurare quell'host virtuale con domini alias. Ogni dominio alias è uno dei siti aggiuntivi nella tua rete.

Tuttavia, finendo per modificare la configurazione, è necessario che il DNS di ciascun dominio si risolva nello stesso server Web e che ogni dominio sia indirizzato alla stessa directory in cui è installato il dominio primario con WordPress. Ogni dominio nella rete deve puntare allo stesso server Web con record DNS e condividere lo stesso percorso di directory per i file utilizzati da WordPress.

Una volta che hai tutto configurato e impostato correttamente come discusso sopra. Accedi all'area di amministrazione di WordPress e vai all'area di amministrazione della rete per aggiungere un nuovo sito alla rete.

Quando vai ad aggiungere un sito, ti imporrà di aggiungere il sito web come se fosse un sottodominio nel tuo dominio principale. Rotolo con esso. Inserisci qualcosa di temporaneo.

Una volta aggiunto il sito, vai a cercarlo nell'elenco dei siti nella tua rete. Fai clic su modifica su quel sito specifico. Ora puoi cambiare completamente il 100% del nome di dominio di quel sito web. In quel momento inseriresti il ​​nome di dominio effettivo per questo sito TLD.

So che è un po 'complicato farlo in questo modo, ma funziona e non è necessario utilizzare alcun plug-in.


Grazie per questo, sembra funzionare - e sembrava aver bisogno della parte cookie. Per me, 1) ho registrato un nuovo dominio, 2) ho puntato i suoi nameserver verso il mio host multisito WordPress esistente, 3) in cPanel, ho fatto un dominio aggiuntivo, impostando il root del documento come lo stesso public_html del sito principale (come te ha detto; non l'ho provato nel modo predefinito, di una nuova directory, quindi non sono sicuro che funzionasse), e 4) ho cambiato l'URL del sito secondario da oldsubdomain.primarysite.com a newdomain.com Incrocio delle dita, nessun problema DNS così lontano.
Robert Andrews,

Adoro questa risposta ... eppure ho un problema. Il tuo suggerimento per cambiare .htaccess, dato che anche wordpress ha dato la stessa modifica. quando faccio questa modifica, il sistema si arresta in modo anomalo. Qualche idea del perché sarebbe?
Debbie Kurth,

4

È possibile senza alcun plug-in da alcune versioni fa (non ricordo la versione concreta ma la funzionalità è lì da un po 'di tempo). Tuttavia, se si inizia da zero, è necessario installare il multisito di WordPress nella modalità sottodominio .

Devi dichiarare un URL principale (probabilmente kevin123.com) come URL principale per la rete (multisito). Questo è memorizzato in wp-config.phpnel DOMAIN_CURRENT_SITEcostante e il sito (precedentemente noto come »blog«) utilizzando questo dominio dell'URL di casa deve avere l'ID memorizzato in BLOG_ID_CURRENT_SITE. Ma questo è praticamente roba predefinita durante il processo di installazione standard.

WordPress ti consente di specificare solo il sottodominio, quando crei un nuovo sito. Ma dopo aver creato il sito è possibile modificarlo e aggiungere un valore completamente arbitrario per l'URL del sito. L'ho descritto qualche tempo fa in questa risposta con alcuni screenshot: sono possibili sottodomini nidificati con un sito secondario di sottodomini?

Potrebbe anche essere necessario impostare la costante COOKIE_DOMANsu un valore vuoto in wp-config.php:

define( 'COOKIE_DOMAIN', '' );
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.