Comment utiliser Wordpress Multisite avec différents noms de domaine?

10

Je souhaite utiliser WordPress multisite, mais je veux pouvoir utiliser mes propres noms. Par exemple, mon site principal s'appelle example.com . Si je veux ajouter un nouveau site à mon réseau multisite, il s'appellera newsite.example.com . Je veux que ce soit newsite.com sans example . Y a-t-il un moyen d'y parvenir?

J'ai entendu parler du mappage de domaine avec un plugin, mais je ne sais pas si cela est pertinent pour cette question. Si cela est pertinent, j'aimerais savoir ce que c'est exactement.

    
posée Kevin.a 03.01.2017 - 12:30

2 réponses

14

Il semble y avoir toujours un peu de confusion sur ce sujet. WordPress pourrait peut-être faire un meilleur travail en guidant ses utilisateurs dans ce processus. Bien que, je suppose, le multisite n’était pas destiné à être utilisé pour les TLD.

Je voudrais tout d'abord installer WordPress , configurez multisite et configurez-le en tant que configuration réseau sous-domaine.

Voici un exemple de configuration de votre fichier wp-config.php dans le répertoire de base de votre installation 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 );

Ensuite, voici la configuration de base de votre fichier .htaccess en tant que configuration de sous-domaine, dans le répertoire de base de votre installation 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

Maintenant, pour que les TLD fonctionnent correctement, j'ai dû effectuer des configurations supplémentaires dans le fichier wp-config.php comme ceci:

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

C'est tout pour les configurations spécifiques à WordPress.

Personnellement, j'aime bien avoir un hôte virtuel Apache pour le domaine principal du réseau, puis configurer cet hôte virtuel avec des domaines alias. Chaque domaine d'alias constituant l'un des sites supplémentaires de votre réseau.

Quoi que vous finissiez par peaufiner votre configuration, vous avez besoin du DNS de chaque domaine pour le résoudre sur le même serveur Web, et pour que chaque domaine soit pointé vers le même répertoire que le domaine principal est installé avec WordPress. Chaque domaine de votre réseau doit pointer vers le même serveur Web avec les enregistrements DNS et partager le même chemin de répertoire pour les fichiers utilisés par WordPress.

Une fois que tout est configuré et configuré correctement, comme indiqué ci-dessus. Connectez-vous à votre zone d’administration WordPress et accédez à la zone d’administration réseau pour ajouter un nouveau site à votre réseau.

Lorsque vous ajoutez un site, il vous oblige à ajouter le site Web comme s'il s'agissait d'un sous-domaine de votre domaine principal. Il suffit de rouler avec elle. Entrez quelque chose de temporaire.

Une fois le site ajouté, recherchez-le dans la liste des sites de votre réseau. Cliquez sur Modifier sur ce site spécifique. Maintenant, vous pouvez entièrement changer le nom de domaine de ce site Web à 100%. C’est à ce moment-là que vous mettriez le nom de domaine réel de ce site TLD.

Je sais que c'est un peu compliqué de le faire de cette façon, mais cela fonctionne et vous n'avez pas besoin d'utiliser de plug-ins.

    
réponse donnée Michael Ecklund 03.01.2017 - 15:38
3

C’est possible sans plugin depuis certaines versions (je ne me souviens pas de la version concrète, mais la fonctionnalité existe déjà depuis un certain temps). Toutefois, si vous partez de zéro, vous devez installer WordPress multisite en mode sous-domaine .

Vous devez déclarer une URL principale (probablement kevin123.com ) en tant qu'URL principale du réseau (multisite). Ceci est stocké dans wp-config.php dans la constante DOMAIN_CURRENT_SITE et le site (anciennement connu sous le nom de »blog«) utilisant ce domaine comme URL de base doit avoir l'ID stocké dans BLOG_ID_CURRENT_SITE . Mais c’est à peu près tout ce qu’il faut par défaut lors du processus d’installation standard.

WordPress vous permet uniquement de spécifier le sous-domaine, lorsque vous créez un nouveau site. Mais une fois le site créé, vous pouvez le modifier et ajouter une valeur complètement arbitraire à l'URL du site. Je l'ai décrit il y a quelque temps dans cette réponse avec quelques captures d'écran: Des sous-domaines imbriqués sont-ils possibles avec un multisite de sous-domaines?

Vous devrez peut-être également définir la constante COOKIE_DOMAN sur une valeur vide dans votre wp-config.php :

define( 'COOKIE_DOMAIN', '' );
    
réponse donnée David 03.01.2017 - 12:48

Lire d'autres questions sur les étiquettes