Cookies en sitios múltiples donde los sitios de red tienen su propio nombre de dominio


14

Decidí integrar varios sitios web independientes de Wordpress en una sola instalación multisitio.

Creé una nueva instalación multisitio con subdirectorios, creé un sitio de red MU con URL de subdirectorio y exporté el contenido del sitio independiente original, luego importé ese contenido al sitio MU de subdirectorio.

Luego eliminé el sitio independiente original de cPanel y configuré el nombre de dominio del sitio MU con el nombre de dominio original.

El sitio se carga con su nombre de dominio original, pero cuando intento iniciar sesión en domainname.com/wp-admin (usando las nuevas credenciales de usuario administrador de red del multisitio), recibo un error:

ERROR: las cookies están bloqueadas o no son compatibles con su navegador. Debe habilitar las cookies para usar WordPress.

Las cookies están habilitadas en Chrome.

Intenté agregar lo siguiente a wp-config.php:

define('COOKIE_DOMAIN', false);

pero el problema persiste.

El mismo problema ocurre si uso WP Migrate DB Pro, para ingresar un sitio web independiente a un sitio de subdirectorio MU, luego elimino el sitio independiente de cPanel y luego configuro la URL del sitio del subdirectorio MU para que sea el nombre de dominio del sitio independiente original. El front-end del sitio se carga bien, simplemente no puedo iniciar sesión en admin.

Ayuda apreciada.



Gracias @bueltge, intenté agregar define('COOKIE_DOMAIN', false);pero iniciar sesión en un subsitio con su propio dominio no funciona: vuelve a la misma pantalla de inicio de sesión.
Steve

@Steve debe intentar específicamente lo que dice la respuesta y establecerlo en una cadena vacía, es decir define('COOKIE_DOMAIN', '');. Booleano falsepuede o no tener el mismo significado que una cadena vacía '', dependiendo de la aplicación.
bosco

Por MU, ¿quiere decir que está utilizando un complemento de mapeo de dominio? Gracias.
Greeso

No @Greeso, utilizando la funcionalidad incorporada de URL del sitio.
Steve

Respuestas:


22

Primero borrar la caché del navegador (incluidas las cookies) + caché del servidor de los complementos de caché, etc.

Luego configure lo siguiente en su wp-config.phparchivo:

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

Además, puede consultar la respuesta AQUÍ :

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'your-domain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define('SUNRISE', 'on');

Si aún falla, lea esta respuesta o comuníquese con el soporte de su servidor, puede haber un problema de configuración en el servidor.


Hola scott Un problema similar ha surgido en otro sitio de MU. He agregado las constantes anteriores a wp-config.php, pero en este otro sitio MU, childsitedomain.com/wp-login.phpproduce el error ¿ The constant "COOKIE_DOMAIN" is defined (probably in wp-config.php). Please remove or comment out that define() line.Alguna idea sobre cómo abordar esta situación?
Steve

Si comento esa declaración, recibo el error después de iniciar sesión en el sitio secundario:ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
Steve

He planteado este problema en una nueva pregunta .
Steve

7

Usando WordPress versión 4.9.4.

Estaba recibiendo el error de cookie y busqué en varias opciones de ayuda y finalmente lo resolví usando una combinación de la solución de Scott:

Nota: no hice ninguna limpieza de caché de cookies

a) Edición de la sunrise.phplínea wp-config.php(estaba usando la asignación de dominio nativo, así que eliminé los cambios de instalación del complemento MU que había hecho)

b) Ajusté mi wp-config.phpa

/* Multisite */

define('WP_DEBUG', false);

define( 'WP_ALLOW_MULTISITE', true ); 

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'www.mysite.com.au');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/* define( ‘COOKIE_DOMAIN’, $_SERVER[ ‘HTTP_HOST’ ] ); */

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

/* That's all, stop editing! Happy blogging. */

3

Finalmente, después de horas, literalmente, de resolución de problemas pude resolver esto en la instancia de WordPress Multisite Wordpress de AWS Lightsail Bitnami (WordPress 5.0.4) realizando lo siguiente:

  1. Asegúrese de que el complemento de asignación de dominio WPMU esté deshabilitado
  2. Edite /opt/bitnami/apps/wordpress/htdocs/wp-config.php ...

    a. Agregue lo siguiente:

     define('ADMIN_COOKIE_PATH', '/');
     define('COOKIE_DOMAIN', '');
     define('COOKIEPATH', '');
     define('SITECOOKIEPATH', '');
    
     /* That's all, stop editing! Happy blogging. */

    si. Comentar:

    // define('SUNRISE', 'on');

Después de estos cambios, el inicio de sesión fue exitoso, sin errores. Gracias por el aporte de todos. Si no fuera por eso, todavía me estaría rascando la cabeza.

Encontré la respuesta aquí:

https://docs.bitnami.com/aws/apps/wordpress-multisite/configuration/configure-wordpress-multisite

Esta funcionalidad de mapeo de dominio está incluida en WordPress Multisite desde v4.5 . Si está utilizando una versión anterior, necesitará el complemento de mapeo de dominio MU de WordPress.

Por lo tanto, parece que el complemento de asignación de dominio WPMU se incluye innecesariamente en el paquete AWS Lightsail Bitnami Multisite.


¡Gracias por esto! Funcionó para mí sin deshabilitar el complemento de asignación de dominio WPMU. Tampoco encontré SUNRISE en ningún lado, así que tampoco tuve que comentarlo.
Monarca Wadia

2

Acabo de terminar de solucionar un problema similar con el subdominio multisitio.

Con:

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);

El sitio todavía arrojaba un error de cookie y en algunos casos de probar lo que se sugirió anteriormente .........

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

Esto provocó un error diferente para eliminar define hace referencia a "COOKIE_DOMAIN" al visitar subsitios.

Finalmente pude iniciar sesión después de asegurarme de que ambos estaban definidos justo encima de la información de la red multisitio

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIE_DOMAIN', '');

Intenta asegurarte de que ambos estén definidos. Espero que esto ayude.


Para aclarar más arriba, parece funcionar con solo define ('COOKIE_DOMAIN', '');
Ruben Apolinar

1

Comenté define ('SUNRISE', 'on');

/ * define ('SALIDA DEL SOL', 'encendido'); * /
define ('COOKIE_DOMAIN', $ _SERVER ['HTTP_HOST']);
define ('COOKIE_DOMAIN', '');

Entonces, no veo el siguiente mensaje de error:

ERROR: las cookies están bloqueadas o no son compatibles con su navegador. Debe habilitar las cookies para usar WordPress.

Iniciar sesión también comenzó a funcionar.


1

Así que también estaba teniendo este problema y encontré muchas soluciones como las mencionadas aquí, pero no funcionaron.

Lo que funcionó fue simplemente agregar lo siguiente a la configuración multisitio en wp-config:

define('COOKIE_DOMAIN', false);

para que la sección en wp-config se vea así:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'your-site.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define('COOKIE_DOMAIN', false);

publicar aquí para que otros puedan encontrarlo y pasar menos tiempo golpeándose la cabeza contra su escritorio que yo.


0
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
//define('DOMAIN_CURRENT_SITE', 'masterdigitalservices.com');
//define('PATH_CURRENT_SITE', '/');
//define('SITE_ID_CURRENT_SITE', 1);
//define('BLOG_ID_CURRENT_SITE', 1);

Aquí está mi nueva configuración de wp. Parece que se codificó para ser un sitio específico, y no estaba permitiendo que otros dominios funcionen, solo subdominios. Grandes respuestas aquí.


0

También tenía este problema y nada de lo que hice me ayudó. Lo probé en Microsoft Edge y no recibí el error.

Entonces, al menos en mi caso, fue solo Google Chrome el que causó el problema.


0

Extrañamente funcionó para mí (en más de un sitio múltiple) establecer SUBDOMAIN_INSTALL en falso. Para ser honesto, no había tenido tiempo de investigar más por qué ...

define('SUBDOMAIN_INSTALL', false);


0

ESTO LO FIJO PARA MÍ No había configurado WordPress completamente para el nuevo nombre de dominio. Había creado mi sitio subdominio.dominio.com . Entonces quería permanecer como nuevodominio.com sobre subdominio.dominio.com Esto requería

  1. Red de WordPress > admin> sitio , cambiar el sitio a un nuevo nombre (lo que ya había hecho, el sitio estaba funcionando)
  2. Red de WordPress > admin> configuración> dominios , agregue un nuevo nombre a la ID del sitio y marque sí para el dominio principal (para indicar que este nombre es el nombre principal). Para encontrar la ID del sitio, puede desplazarse por la red> admin> sitio que le dirá en qué ID del sitio está trabajando. Espero que esto ayude a cualquier persona que estaba recibiendo las cookies a que se bloqueen o no reciban mensajes cuando intente iniciar sesión.

0

Pude resolver el problema después de agregar lo siguiente en wp-config.php. Referencia

define( 'COOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'home' ) . '/' ) );
define( 'SITECOOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'siteurl' ) . '/' ) );
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
define( 'PLUGINS_COOKIE_PATH', preg_replace( '|https?://[^/]+|i', '', WP_PLUGIN_URL ) );

-1

Intente agregar lo siguiente a su archivo wp-config.php

También elimine todas las cookies de su navegador antes de probar

define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );

Cuando hice ese cambio, no pude iniciar sesión en ningún sitio web, incluido el sitio web principal.
Steve
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.