SQLTipsWordpress

Multisitio LocalHost No funciona

No explicare nada de lo que es un multisitio o para que sirve, esto lo hago por que se que lo buscas es una solucion a algo que quieres instalar localmente en tu PC usando Xampp o Wamp, por lo que ya tienes conseptos básicos.

Los problemas principales son 4 por los que tu instalacion no funciona y estos son:

  • Error al establecer conexion con la base de datos.- tienes las URL del servidor anterior en la base de datos
  • Demasiadas Redireciones.-  La ruta de tu instalacion no esta bien definida en el archivo de configuracion del WordPress
  • Enlace erroneo o se direcciona a otra URL.- Esto es debido a que el url de configuracion dentro del WP esta con otra ruta.
  • El segundo sitio se va a raiz o no se muestra.- Se debe a un error en el archivo htaccess

Sea cual sea la falla con lo siguiente lo podras solucionar en un piz pas, como dicen en España.

Luego de buscar en varios sitios todos me arrojaron las mismas respuestas pero ninguno con algo especifico en cuanto a la instalación en servidor localhost de casa.

Error al establecer conexion con la base de datos.

Aparentemente esto tiene mas relacion con el config y los accesos de la base de datos pero no es así, en un MULTISITIO la configuracion se hace al momento de instalar el WP en modo Multisitio y allí el mismo WP te genera la configuracion del SQL, las lineas que deberás asignar a wp-config y al archivo htaccess. por lo que esta falla va mas ligada a que no esta definida la URL de tu nuevo servidor

Esta opción se encuentra en la tabla WP_blogs, alli deberás definir el dominio como localhost y el path de tu instalacion; esto es / si es raiz o /tusitio si es en una carpeta en la raiz.

En la imagen de ejemplo tengo 3 sitios dados de alta en el mismo multisitio:

  1. El primero es el sitio principal instalado en la raíz tomando en cuenta que no tendremos mas sitios web alojados en el mismo servidor o carpeta de servicio web. http://localhost
  2. El segundo se muestra como si fuera una carpeta /en pero en este caso en particular /en es una carpeta virtual o hipervinculo para las traducciones del sitio primario, es decir que no hay carpeta o subfolder en la instalacion del servidor. http://localhost/en
  3. El tercero muestra que si hay una carpeta, donde hay una instalacion de WP valida de tu multisitio, es decir las primeras dos son para indicar que tu instalacion de WP primaria es en la raiz del servidor y el tercer es para indicar que tu instalacion primaria esta en una carpeta despues de la raiz del servidor. http://localhost/tusitio en el que si hay traducciones sera luego http://localhost/tusitio/en

Demasiadas Redirecciones

Cuando no hay conexion con el sitio web y te dice que hay demasiadas redirecciones en las cuales parece ser infinito, el problema principal esta el la configuracion de wp-config. es comunque hagamos configuraciones asi:

/* Multisite */
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'localhost/tusitio');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

 

Pero la configuracion es de este modo: 
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/tusitio/');

Enlace erroneo o se direcciona a otra URL

En ocaciones se redirecciona o se ven partes del servidor de origen de donde estamos migrando, para corregir este problema debes ingresar a las tablas wp_options y localizar las opciones de HOME y SITE URL; cambialos a la direccion de tu instalacion local, esto es:

http://localhost/tusitio

Tambien necesitaras buscar la tabla WP2_options de tu segundo sitio del multisitio y debras cambiar  HOME y SITE URL, con los datos que le corresponden y quizás tambien WP3_options si tienes un tercer sitio anexado.

El segundo sitio se va a raiz o no se muestra

Cuando ya tenemos corregidos los tres primeros problemas, solo falta configurar bien el htaccess; debemso tener en cuenta si nuestra instalacion del multisite será en raiz del servidor http:localhost o sera en una carpeta http://localhost/tusitio

En mi caso tengo varios sitios webs en desarrollo y necesito instalar en ocasiones en raiz otros sitios web basados en Laravel por lo que necesito hacer instalacion en carpetas, tal como lo hace un host profesional y luego ajustar los alias y vhost para que se asocien los dominios .com

Tomado en cuenta que todas las instalaciones son en raiz el htaccess es asi: (Hosting Normal)

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Pero en nuestro localhost es casi casi igual, solo indicamos la carpeta en la que está instalado nuestro wordpres, asi que edita el htaccess modificando RewriteBase:

RewriteEngine On
RewriteBase /tusitio/
RewriteRule ^index\.php$ – [L]