En muchas instalaciones de WordPress multisitio ocurre en ocasiones un problema bastante molesto, en realidad es muy jodido. Me refiero a que, tras realizar la instalación y activar el multisitio, si configuras la misma para que use subdominios, te quedas atascado en la pantalla de acceso en un loop infinito de redirecciones.
Molesto ¿verdad?
… ¿Por qué pasa esto? …
En cada versión de WordPress, da igual si es dominio o subdominio, mapea a una sola dirección IP. Cuando se hace una petición al servidor, parte de la misma incluye el dominio, y el dominio está asociado a una dirección IP.
Cuando se crea un cookie, esta incluye el nombre y luego la ruta. Por ejemplo:
NAME = wordpress_d676ec21cf050e966685794aa715694f CONTENT = removed PATH = /sitename/wp-admin
En una instalación multisitio una cookie para dos sitios sería más o menos así:
NAME = wordpress_d676ec21cf050e966685794aa715694f PATH = /sitename/wp-admin NAME = wordpress_d676ec21cf050e966685794aa715694f PATH = /sitename/
Observa que el nombre de las dos cookies en este último caso son exactamente el mismo pero las rutas son distintas. Esto es debido a que dos sitios distintos, con diferentes dominios, están alojados en la misma dirección IP, y ambos están en la cookie debido a que no se reinician las cookies.
En consecuencia se establecen cookies para diferentes sitios en el mismo dominio.
De este modo, cuando tratas de acceder a WordPress en un dominio diferente (pero con la misma IP) la cookie directamente no vale. Y, es por eso que, coloquialmente hablando, WordPress se escogorcia.
O sea, que wp-login
no hace ni intento de revisar las cookies antes de establecerlas. Esto provoca que se use una cookie no válida y, como tampoco trata de limpiar las cookies existentes, te atascas en el loop de redirecciones al acceder.
… Vale, muy molón pero ¿cómo se arregla? …
Bueno, en realidad, y afortunadamente, es muy fácil de arreglar.
En el archivo de configuración de WordPress,wp-config.php
antes de eso de:
/* ¡Eso es todo, deja de editar!, Feliz blogging. */
Añades estas líneas:
define('ADMIN_COOKIE_PATH', '/'); define('COOKIE_DOMAIN', ''); define('COOKIEPATH', ''); define('SITECOOKIEPATH', '');
Guardas y se arregla el problema de la redirección infinita en la pantalla de acceso. Estas sencillas líneas aseguran que WordPress limpie la cookie para el dominio en cuestión del multisitio permitiendo el proceso de login correctamente.
Estupendo truco de Tom McFarlin
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Hola,
He configurado una instalación multisite. Después de activar la red de sitios, intento visitar el escritorio de el nuevo sitio añadido http://www.midominio.com/en/ y no puedo visitarlo. Aparece un error de que hay una redirección infinita.
He editado el archivo config.php tal y cómo indicas, pero no consigo solucionar el problema.
He visto en diferentes foros que algunos usuarios tienen el mismo problema, pero no he encontrado ninguna solución que me funcione. Me puedes ayudar?
Lo has podido solucionar? A mi me pasa lo mismo.
No 🙁 volví a hacer una nueva instalación
Aikos, yo estoy volviéndome loca-loca-loca por lo mismo. No se cuántas reinstalaciones llevo ya…
Una vez instalado puedo editar las propiedades pero no acceder al panel de control del nuevo blog ¿Alguna idea?
Muchas gracias, me has salvado de muchas horas de sufrimiento. En realidad yo tenia este problema pero motivado por otra causa. He estado jugando a cambiar la carpeta donde tengo alojado wordpress y al final se ha vuelto loco.
Lo dicho muchísimas gracias.
Muchas gracias !! años después aun funciona !!!