¿Por qué definir MULTISITE como true cambia la conexión a la base de datos que se usa?
He copiado una instalación multisite para trabajar en ella localmente. Noté que si defino define('MULTISITE', true);
en wp-config, obtengo el error estándar de conexión a la base de datos. Si desactivo multisite, el tema carga pero faltan plugins.
¿Alguien puede sugerir qué me falta? Posiblemente relevante es que mi entorno de desarrollo local usa NGINX y el original está en Apache. No tengo nada específico para multisite en mi configuración de nginx.
Si defino ambos siguientes en wp-config:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
Me redirige a http://http//local.mydevsite/wp-signup.php?new=local.mysdevsite
También me redirige allí al intentar acceder a /wp-admin
Esto parece ser un error con las URLs definidas en la base de datos multisite y/o un problema con el archivo .htaccess.
Cuando cambias una instalación normal de WordPress de un entorno en vivo a local, por ejemplo, puedes modificar las URLs configurando esto en tu wp-config:
define('WP_HOME','http://ejemplo.com');
define('WP_SITEURL','http://ejemplo.com');
Sin embargo, con multisite hay referencias adicionales a las URLs en las que se configuró el multisite dentro de la base de datos. Si en tu base de datos local revisas las tablas wp_blogs
, wp_site
y wp_options
, encontrarás entradas para el sitio en vivo en la base de datos. Necesitas cambiar estas entradas a tu nueva URL local, es decir, de sitioenlive.com a sitiolocal.com.
- En
wp_blogs
se encuentran todas las entradas en la columnadomain
- En
wp_site
está la entrada bajo la columnadomain
- En
wp_options
está el valor de option_value correspondiente a los option_namesiteurl
yhome
Alternativamente, para facilitar la configuración y minimizar cualquier cambio en la base de datos, recomendaría mantener las URLs existentes y simplemente agregar una regla en tu archivo hosts para redirigir a tu máquina local, es decir, en tu archivo hosts hacer que sitioenlive.com
apunte a 127.0.0.1
. De esta manera, no tienes que modificar la base de datos. La desventaja de esto es que tendrás que eliminar la entrada para ver el sitio en vivo y algunas personas pueden encontrar esto confuso. Así que esto depende completamente de tu elección.
Luego, necesitas asegurarte de que tu .htaccess tenga la configuración correcta para multisite y reescrituras. Esas configuraciones se pueden encontrar aquí dependiendo de si tienes una configuración de subdominio o de subcarpeta.
Finalmente, debes asegurarte de que en tu configuración local tengas el módulo de reescritura (rewrite_module) activo y el módulo de cabeceras (headers_module) activo (o su equivalente) en tu servidor web local.
