¿Cómo usar Wordpress Multisite con diferentes nombres de dominio?

10

Quiero trabajar con WordPress multisite, pero quiero poder usar mis propios nombres. Por ejemplo, mi sitio principal se llama example.com . Si quiero agregar un nuevo sitio a mi red multisitio, se llamará newsite.example.com . Quiero que sea newsite.com sin example . ¿Hay una manera de lograr esto?

Escuché sobre el mapeo de dominios con un complemento, pero no sé si esto es relevante para esta pregunta. Si es relevante, me gustaría saber qué es exactamente esto.

    
pregunta Kevin.a 03.01.2017 - 12:30

2 respuestas

14

Parece que siempre hay un poco de confusión sobre este tema. Quizás WordPress podría hacer un mejor trabajo guiando a sus usuarios en este proceso. Aunque, supongo que Multi-site no fue diseñado para ser usado en TLD.

Primero que nada, instalaría WordPress , setup multisite , y configúrelo como una configuración de red de subdominio.

Aquí hay una configuración de ejemplo para su archivo wp-config.php en el directorio base de su instalación de 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 );

Entonces, aquí está la configuración básica para su archivo .htaccess como una configuración de subdominio, en el directorio base de su instalación de 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

Ahora, para que los TLD funcionen correctamente, he tenido que hacer algunas configuraciones adicionales al archivo wp-config.php de esta manera:

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

Eso es todo con las configuraciones específicas de WordPress.

Personalmente, me gusta tener un host virtual de Apache para el dominio principal en la red y luego configurar ese host virtual con dominios de alias. Cada dominio de alias es uno de los sitios adicionales en su red.

Independientemente de cómo termine de ajustar su configuración, necesita que cada DNS de dominio se resuelva en el mismo servidor web y que cada dominio sea apuntado al mismo directorio en el que se instala el dominio principal con WordPress. Cada dominio de su red debe apuntar al mismo servidor web con registros DNS y compartir la misma ruta de directorio para los archivos utilizados por WordPress.

Una vez que tengas todo configurado y configurado correctamente como se explicó anteriormente. Inicie sesión en el área de administración de WordPress y navegue hasta el área de administración de la red para agregar un nuevo sitio a su red.

Cuando vaya a agregar un sitio, le obligará a agregar el sitio web como si fuera un subdominio en su dominio principal. Sólo tira con él. Introduce algo temporal.

Una vez que se haya agregado el sitio, vaya a buscarlo en la lista de sitios de su red. Haga clic en editar en ese sitio específico. Ahora, puede cambiar al 100% el nombre de dominio de ese sitio web. Ahí es cuando pondría el nombre de dominio real para este sitio de TLD.

Sé que es un poco de truco hacerlo de esa manera, pero funciona y no necesitas usar ningún complemento.

    
respondido por el Michael Ecklund 03.01.2017 - 15:38
3

Es posible sin ningún complemento desde hace algunos lanzamientos (no puedo recordar el lanzamiento concreto, pero la característica ha estado allí por un tiempo). Sin embargo, si comienza desde cero, debe instalar WordPress multisite en el modo subdominio .

Debe declarar una URL principal (probablemente kevin123.com ) como la URL principal de la red (multisitio). Esto se almacena en wp-config.php en la constante DOMAIN_CURRENT_SITE y el sitio (anteriormente conocido como »blog«) que usa este dominio como URL de inicio debe tener el ID almacenado en BLOG_ID_CURRENT_SITE . Pero esto es prácticamente lo predeterminado durante el proceso de instalación estándar.

WordPress le permite solo especificar el subdominio, cuando crea un sitio nuevo. Pero después de crear el sitio, puede editarlo y agregar un valor completamente arbitrario para la URL del sitio. Lo describí hace algún tiempo en esta respuesta con algunas capturas de pantalla: ¿Son posibles subdominios anidados con un subdominio multisitio?

Es posible que también debas establecer la constante COOKIE_DOMAN en un valor vacío en tu wp-config.php :

define( 'COOKIE_DOMAIN', '' );
    
respondido por el David 03.01.2017 - 12:48

Lea otras preguntas en las etiquetas