¿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_blogsse encuentran todas las entradas en la columnadomain - En
wp_siteestá la entrada bajo la columnadomain - En
wp_optionsestá el valor de option_value correspondiente a los option_namesiteurlyhome
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.