Confusione nell'impostazione di COOKIE_DOMAIN

19 gen 2016, 21:50:54
Visualizzazioni: 32.5K
Voti: 4

Sto aggiornando il mio sito web che utilizza WordPress. Sto usando il sottodominio cdn per il CDN e deve essere senza cookie.

Attualmente il mio sito web è una multi-rete di multisiti (entrambi sono installazioni in sottodirectory), con il sottodominio www che ospita il mio progetto musicale principale e il sottodominio photo che ospita il mio progetto fotografico.

Il plugin che sto utilizzando per questo tipo di multi-rete è: https://github.com/stuttter/wp-multi-network

Ho bisogno di utilizzare il Single Sign-on. E questo mi porta a una confusione nell'impostazione di COOKIE_DOMAIN in wp-config.php. Posso impostarlo come indicato nella documentazione del plugin:

define( 'COOKIE_DOMAIN',     'mydomain.com'        );

ma so che questo farebbe servire i cookie anche da cdn.mydomain.com.

Come posso impostare COOKIE_DOMAIN in modo da servire i cookie solo dai due sottodomini www e photo?

Oppure devo utilizzare un altro nome di dominio solo per il CDN?

4
Commenti

cdn.mydomain.com è uno dei siti nella tua rete WordPress?

David David
20 gen 2016 01:14:25

No. cdn.mydomain.com è ospitato su un altro server (Google App Engine).

LQ2' LQ2'
20 gen 2016 06:15:40

Allora questa frase è confusa: »ma so che questo farebbe sì che i cookie vengano serviti da cdn.mydomain.com«. Perché una costante nella tua configurazione WP dovrebbe influenzare altri host?

David David
20 gen 2016 11:38:49

Grazie! Ho appena testato il mio sito utilizzando YSlow su GTmetrix. Il mio CDN è privo di cookie con questa impostazione.

LQ2' LQ2'
20 gen 2016 16:18:04
Tutte le risposte alla domanda 2
3

Ho avuto difficoltà nell'utilizzare i domini multisito nativi di WordPress 4.x.

Nonostante abbia trovato riferimenti che indicavano che queste righe correggessero l'errore, nessuna di queste impostazioni ha funzionato:

//define('COOKIE_DOMAIN', false);
//define( ‘COOKIE_DOMAIN’, $_SERVER[ ‘HTTP_HOST’ ] );

Alla fine, ho aggiunto invece le seguenti righe di codice e ha funzionato alla perfezione...

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

Non sono sicuro se questa soluzione possa essere utile anche a te?

  • Condivido questo principalmente per futuri ricercatori che potrebbero avere problemi simili.
24 feb 2017 03:48:52
Commenti

Questo ha completamente rotto il mio sito

Adal Adal
30 gen 2018 04:16:58

Se ha rotto il tuo sito, semplicemente rimuovi il codice e rilogga impostando i valori originali. Questo imposta semplicemente i valori dei cookie, non influisce sul database ecc. Nota: il mio sito gira nella directory root (dominio.com/) quindi se sei in una sottodirectory (dominio.com/wordpress) dovresti impostare cookiepath come /wordpress/ -

Wayne Brian Pearsall Wayne Brian Pearsall
31 gen 2018 23:47:21

Ciao Wayne, è la prima cosa che ho fatto. Tuttavia, né rimuovere quelle definizioni né impostarle su altri valori ha permesso ai siti di funzionare di nuovo. Ho avuto un successo limitato usando un sunrise.php... ma non sono mai riuscito ad accedere. Sono su Google Cloud VM. Alla fine ho ripristinato uno snapshot del disco e ho abbandonato la speranza che il mapping di dominio nativo di WPMU possa funzionare. Sono tornato a usare i plugin.

Adal Adal
2 feb 2018 00:44:14
0

Poiché cdn.mydomain.com non fa parte della tua rete WordPress, non sarà influenzato dalle tue impostazioni.

La costante COOKIE_DOMAIN dovrebbe essere utilizzata solo se desideri servire i cookie da un singolo dominio per tutti i tuoi siti nella rete. Se ometti la costante o la imposti su un valore vuoto, i cookie apparterranno al dominio da cui sono stati richiesti. Questa è la configurazione che desideri utilizzare per ambienti multisito/rete, specialmente quando si tratta di domini diversi.

20 gen 2016 16:27:13