Cookie in rete Multisite dove i siti hanno il proprio nome di dominio

13 mar 2017, 07:09:35
Visualizzazioni: 31.9K
Voti: 21

Ho deciso di integrare diversi siti WordPress autonomi in un'unica installazione Multisite.

Ho creato una nuova installazione Multisite con sottodomini, creato un sito nella rete MU con URL sottodominio, ed esportato il contenuto dal sito autonomo originale, poi ho importato quel contenuto nel sito MU sottodominio. Ho quindi eliminato il sito autonomo originale da cPanel e impostato il nome di dominio del sito MU sul nome di dominio originale.

Il sito principale ora si carica correttamente sul suo nome di dominio originale, ma quando provo ad accedere al sito sottodominio su site.example.com/wp-admin/ (utilizzando le nuove credenziali dell'amministratore di rete multisite), ricevo un errore:

ERRORE: I cookie sono bloccati o non supportati dal tuo browser. Devi abilitare i cookie per utilizzare WordPress.

Ma i cookie sono abilitati in Chrome.

Ho provato ad aggiungere quanto segue a wp-config.php:

define('COOKIE_DOMAIN', false);

...ma il problema persiste.

Lo stesso problema si verifica se uso WP Migrate DB Pro per importare un sito autonomo in un sito sottodominio MU, poi elimino il sito autonomo da cPanel, e quindi imposto il dominio del sito sottodominio MU come dominio del sito autonomo originale... il frontend del sito si carica correttamente, ma non riesco ad accedere all'admin di WP.

7
Commenti

Hai visto questa risposta Come configurare Wordpress Multisite su più domini senza plugin?

bueltge bueltge
16 mar 2017 15:41:45

Grazie @bueltge, ho provato ad aggiungere define('COOKIE_DOMAIN', false); ma l'accesso a un sotto-sito con il proprio dominio non funziona - torna alla stessa schermata di login.

Steve Steve
17 mar 2017 20:23:33

@Steve dovresti provare esattamente ciò che indica la risposta e impostarlo come stringa vuota, cioè define('COOKIE_DOMAIN', '');. Il valore booleano false potrebbe non avere lo stesso significato di una stringa vuota '', dipende dall'applicazione.

bosco bosco
22 mar 2017 01:42:22

Con MU, intendi che stai usando un plugin per il mapping dei domini? Grazie.

Greeso Greeso
23 mar 2017 06:25:29

No @Greeso, sto utilizzando la funzionalità integrata dell'URL del sito.

Steve Steve
23 mar 2017 07:22:26

Non ho nulla se non l'intuizione a supporto di questo, ma non ti sembra che impostare il dominio del cookie a '' o false sia una pessima idea per la sicurezza?

squarecandy squarecandy
16 dic 2018 00:19:13

Vai su phpmyadmin. Nella tabella wp_option, siteurl e home devono essere uguali al nome del tuo dominio.

bwise bwise
29 gen 2019 22:33:56
Mostra i restanti 2 commenti
Tutte le risposte alla domanda 15
5
39

Prima cancella la cache del tuo browser (inclusi i cookie) e la cache del tuo server (ad esempio plugin di cache). Poi imposta quanto segue nel tuo file wp-config.php:

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

Inoltre, potresti verificare la risposta da QUI:

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

Se ancora non funziona, allora leggi questa risposta o contatta l'assistenza del tuo server. Potrebbe esserci un problema di configurazione sul server.

23 mar 2017 12:04:04
Commenti

Ciao Scott. Un problema simile è emerso su un altro sito MU. Ho aggiunto le costanti sopra nel file wp-config.php, ma su questo altro sito MU, childsitedomain.com/wp-login.php produce l'errore La costante "COOKIE_DOMAIN" è definita (probabilmente in wp-config.php). Per favore rimuovi o commenta quella riga define(). Hai qualche idea su come affrontare questa situazione?

Steve Steve
27 mar 2017 13:53:39

Se commento quella dichiarazione, ricevo l'errore dopo il login nel sito figlio: ERRORE: I cookie sono bloccati o non supportati dal tuo browser. Devi abilitare i cookie per usare WordPress.

Steve Steve
27 mar 2017 13:56:18

Ho sollevato questo problema in una nuova domanda.

Steve Steve
27 mar 2017 14:03:10

le 4 righe nella sezione superiore hanno funzionato per me

azote azote
21 lug 2022 18:40:09

Impostare SUBDOMAIN_INSTALL su false mi ha aiutato ora con WordPress 6.7.1, ho notato che tu lo avevi impostato su false rispetto ad altre risposte. In precedenza funzionava con true, quindi non so se qualche aggiornamento di WordPress abbia cambiato qualcosa in relazione a questo.

PatrikN PatrikN
16 dic 2024 14:45:32
0

Utilizzando WordPress versione 4.9.4.

Stavo riscontrando l'errore relativo ai cookie e ho esaminato varie opzioni di aiuto, riuscendo infine a risolverlo utilizzando parti della soluzione di Scott. (Nota: non ho eseguito alcuna pulizia della cache dei cookie.)

  1. Ho rimosso la riga relativa a sunrise.php in wp-config.php (stavo utilizzando il mapping di dominio nativo, quindi ho eliminato le modifiche all'installazione del plugin MU che avevo apportato)

  2. Ho modificato il mio wp-config.php come segue:

    /* Multisito */
    
    define('WP_DEBUG', false);
    
    define( 'WP_ALLOW_MULTISITE', true );
    
    define('MULTISITE', true);
    define('SUBDOMAIN_INSTALL', true);
    define('DOMAIN_CURRENT_SITE', 'www.miosito.esempio');
    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', '');
    
    /* Questo è tutto, interrompi la modifica! Buon blogging. */
    
27 mar 2018 22:33:22
1

Finalmente, dopo ore, letteralmente, di risoluzione dei problemi, sono riuscito a risolvere questo problema sull'istanza AWS Lightsail Bitnami Multisite WordPress (WordPress 5.0.4) eseguendo le seguenti operazioni:

  1. Assicurarsi che il plugin WPMU Domain Mapping sia disabilitato
  2. Modificare /opt/bitnami/apps/wordpress/htdocs/wp-config.php...

    a. Aggiungere quanto segue:

     define('ADMIN_COOKIE_PATH', '/');
     define('COOKIE_DOMAIN', '');
     define('COOKIEPATH', '');
     define('SITECOOKIEPATH', '');
    
     /* Tutto qui, smetti di modificare! Buon blogging. */
    

    b. Commentare:

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

Dopo queste modifiche, il login è avvenuto con successo - nessun errore. Grazie a tutti per i contributi. Senza di essi, sarei ancora qui a grattarmi la testa.

Ho trovato la risposta qui:

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

Questa funzionalità di mappatura dei domini è inclusa in WordPress Multisite dalla versione 4.5. Se stai utilizzando una versione più vecchia, avrai bisogno del plugin WordPress MU Domain Mapping.

Quindi sembra che il plugin WPMU Domain Mapping sia incluso inutilmente nel pacchetto AWS Lightsail Bitnami Multisite.

18 mar 2019 20:32:06
Commenti

Grazie per questo! Ha funzionato per me senza disabilitare il plugin WPMU Domain Mapping. Inoltre non ho trovato da nessuna parte SUNRISE, quindi non ho dovuto nemmeno commentarlo.

Monarch Wadia Monarch Wadia
20 ago 2019 01:08:39
2

Ho appena finito di risolvere un problema simile con il multisito su sottodomini.

Con:

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

Il sito continuava a generare un errore sui cookie e in alcuni casi, provando quanto suggerito sopra.........

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

Questo causava un errore diverso che eliminava le definizioni relative a "COOKIE_DOMAIN" quando si visitavano i sottositi.

Alla fine sono riuscito ad accedere dopo aver assicurato che entrambe queste definizioni fossero presenti appena sopra le informazioni della rete multisito

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

Prova ad assicurarti che entrambe siano definite. Spero che questo aiuti.

6 dic 2017 19:16:07
Commenti

Per chiarire quanto sopra, sembra funzionare semplicemente con define('COOKIE_DOMAIN', '');

Ruben Apolinar Ruben Apolinar
6 dic 2017 19:22:45

Funziona, ma interrompe l'anteprima del post... Ottengo: Sorry, you are not allowed to preview drafts.

Alex Bogias Alex Bogias
7 gen 2021 15:36:14
1

Ho commentato la riga define('SUNRISE', 'on');


/* define('SUNRISE', 'on'); */
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']); 
define('COOKIE_DOMAIN', '');

Dopodiché, non vedo più il seguente messaggio di errore:

ERRORE: I cookie sono bloccati o non supportati dal tuo browser. Devi abilitare i cookie per utilizzare WordPress.

Anche il login ha iniziato a funzionare.

23 gen 2018 00:35:35
Commenti

Si può anche saltare la seconda riga, che viene effettivamente sovrascritta dalla terza. :)

jgangso jgangso
17 ago 2022 11:27:25
0

Anch'io ho avuto questo problema e ho trovato molte soluzioni come quelle menzionate qui, ma non hanno funzionato.

Ciò che ha funzionato è stato semplicemente aggiungere quanto segue alla configurazione multisito in wp-config:

define('COOKIE_DOMAIN', false);

in modo che la sezione in wp-config risulti così:

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

Lo posto qui in modo che altri possano trovarlo e passare meno tempo a sbattere la testa contro la scrivania di quanto abbia fatto io.

9 mag 2018 01:05:49
1

Stranamente ha funzionato per me (su più multisiti) impostare SUBDOMAIN_INSTALL su false. Ad essere onesto, non ho avuto il tempo di investigare ulteriormente sul perché...

define('SUBDOMAIN_INSTALL', false);

20 ago 2018 12:47:01
Commenti

Stessa cosa per me ora con WordPress 6.7.1. In precedenza funzionava con true, quindi non so se qualche aggiornamento di WordPress abbia cambiato qualcosa in merito.

PatrikN PatrikN
16 dic 2024 14:47:31
0

Non so voi, ragazzi, ma per me ha aiutato sorprendentemente tanto cambiare questo

define( 'COOKIEDOMAIN', '' );

in questo

define( 'COOKIE_DOMAIN', '' );

E sì, oso ancora considerarmi uno sviluppatore PHP & WP esperto. Volevo solo condividere che capita a tutti noi. :)

17 ago 2022 11:50:40
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);

Ecco la mia nuova configurazione wp-config. Sembra che fosse impostata in modo rigido per un sito specifico e non permetteva ad altri domini di funzionare - solo ai sottodomini. Ottime risposte qui.

31 mar 2018 21:50:16
0

Anche io ho avuto questo problema e nulla di quello che ho fatto ha aiutato. Ho provato in Microsoft Edge e non ho riscontrato l'errore.

Quindi, almeno nel mio caso, era solo Google Chrome a causare il problema.

30 apr 2018 23:43:32
0

QUESTO HA RISOLTO IL MIO PROBLEMA Non avevo configurato completamente WordPress per il nuovo nome di dominio. Avevo creato il mio sito sottodominio.dominio.com Poi volevo rimanere come nuovodominio.com invece di sottodominio.dominio.com Questo richiedeva:

  1. In WordPress rete > admin > sito, cambiare il nome del sito (cosa che avevo già fatto, il sito funzionava)
  2. In WordPress rete > admin > impostazioni > domini, aggiungere il nuovo nome all'ID del sito e spuntare sì per dominio primario (per indicare che questo nome è il dominio principale). Per trovare l'ID del sito, puoi passare il mouse su rete > admin > sito che mostrerà su quale ID del sito stai lavorando. Spero che questo aiuti chiunque stesse ricevendo il messaggio "i cookie sono bloccati o non supportati" quando cercava di accedere Saluti SamTapsell
17 ott 2018 16:04:22
0

Sono riuscito a risolvere il problema dopo aver aggiunto quanto segue nel file wp-config.php. Riferimento

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 ) );
28 dic 2018 13:49:55
0

Ho risolto il problema con questo:

Cambiare l'impostazione di DOMAIN_CURRENT_SITE in wp-config.php in:

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

Quindi la mia configurazione è questa:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST']);
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Dopo di che sono riuscito ad accedere a tutti i siti della rete multisito dagli URL come web1.example.com/wp-admin o web2.example.com/wp-admin.

8 apr 2020 19:14:01
0

Questo è ciò che utilizziamo su SlickStack per le installazioni Multisite... funziona sia per le reti con sottodomini che per i nomi di dominio personalizzati:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST']);
define('NOBLOGREDIRECT', 'https://example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

E poi:

define('COOKIE_DOMAIN', false);
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');
define('ADMIN_COOKIE_PATH', '/');
24 ott 2022 11:32:10
1
-1

Prova ad aggiungere quanto segue al tuo file wp-config.php

Inoltre, rimuovi tutti i cookie dal tuo browser prima di testare

define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );
16 mar 2017 15:38:04
Commenti

Quando ho apportato quella modifica, non sono riuscito ad accedere a nessun sito web, incluso il sito principale.

Steve Steve
17 mar 2017 20:19:43