Cookies auf mehreren Websites, bei denen Netzwerksites einen eigenen Domainnamen haben

14

Ich habe mich entschieden, mehrere eigenständige Wordpress-Websites in eine einzige Installation mit mehreren Standorten zu integrieren.

Ich habe eine brandneue Multisite-Installation mit Unterverzeichnissen erstellt, eine MU-Netzwerksite mit Unterverzeichnis-URL erstellt, den Inhalt von der ursprünglichen eigenständigen Site exportiert und dann diesen Inhalt in die Unterverzeichnis-MU-Site importiert.

Anschließend habe ich die ursprüngliche eigenständige Site aus cPanel entfernt und den Domänennamen der MU-Site auf den ursprünglichen Domänennamen festgelegt.

Die Site wird mit dem ursprünglichen Domain-Namen geladen. Beim Versuch, mich bei domainname.com/wp-admin anzumelden (unter Verwendung der nagelneuen Anmeldeinformationen des Netzwerkadministrators der Multisite), wird jedoch eine Fehlermeldung angezeigt:

FEHLER: Cookies werden von Ihrem Browser blockiert oder nicht unterstützt. Sie müssen Cookies aktivieren, um WordPress verwenden zu können.

Cookies sind in Chrome aktiviert.

Ich habe versucht, Folgendes hinzuzufügen wp-config.php:

define('COOKIE_DOMAIN', false);

aber das Problem bleibt bestehen.

Das gleiche Problem tritt auf, wenn ich WP Migrate DB Pro verwende, um eine eigenständige Website in ein MU-Unterverzeichnis zu laden, die eigenständige Website aus cPanel zu löschen und die URL der MU-Unterverzeichnis-Site als ursprünglichen Domänennamen der eigenständigen Website festzulegen. Das Frontend der Site wird gut geladen, ich kann mich einfach nicht beim Admin anmelden.

Hilfe geschätzt.

Steve
quelle
Vielen Dank, @bueltge, hat versucht, etwas hinzuzufügen, define('COOKIE_DOMAIN', false);aber die Anmeldung an einer untergeordneten Site mit einer eigenen Domain funktioniert nicht. Sie kehrt zum gleichen Anmeldebildschirm zurück.
Steve
@Steve Sie sollten speziell versuchen, was die Antwort angibt, und es auf eine leere Zeichenfolge festlegen, dh define('COOKIE_DOMAIN', '');. Je nach Anwendung falsehat der Boolesche Wert möglicherweise die gleiche Bedeutung wie ein leerer String ''.
Bosco
Meinen Sie mit MU, dass Sie ein Domain-Mapping-Plugin verwenden? Vielen Dank.
Greeso
Nein @Greeso, mit der eingebauten URL-Funktionalität der Site.
Steve

Antworten:

22

Löschen Sie zuerst den Browser-Cache (einschließlich Cookies) und den Server-Cache aus den Cache-Plugins usw.

Stellen Sie dann in Ihrer wp-config.phpDatei Folgendes ein :

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

Sie können die Antwort auch HIER abrufen :

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');

Wenn dies weiterhin fehlschlägt, lesen Sie diese Antwort oder wenden Sie sich an den Server-Support. Möglicherweise liegt ein Konfigurationsproblem auf dem Server vor.

Scott
quelle
Hallo Scott. Ein ähnliches Problem ist auf einer anderen MU-Site aufgetreten. Ich habe die obigen Konstanten hinzugefügt wp-config.php, aber auf dieser anderen MU-Site tritt childsitedomain.com/wp-login.phpder Fehler auf. The constant "COOKIE_DOMAIN" is defined (probably in wp-config.php). Please remove or comment out that define() line.Gibt es Ideen zur Behebung dieser Situation?
Steve
Wenn ich diese Aussage auskommentiere, erhalte ich den Fehler, nachdem ich mich auf der untergeordneten Site ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
Steve
Ich habe dieses Problem in einer neuen Frage aufgeworfen .
Steve
7

Verwenden von WordPress Version 4.9.4.

Ich habe den Cookie-Fehler erhalten, verschiedene Hilfeoptionen durchgesehen und ihn schließlich mithilfe einer Mischung aus Scotts Fehlerbehebung gelöst:

Hinweis: Ich habe keine Cookie-Cache-Löschung durchgeführt

a) sunrise.phpLine-In- Bearbeitung wp-config.php(ich habe die native Domänenzuordnung verwendet, also die vorgenommenen Änderungen an der Installation des MU-Plugins entfernt)

b) Angepasst wp-config.phpan

/* 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. */
user140609
quelle
3

Endlich, buchstäblich nach Stunden der Fehlerbehebung, konnte ich dieses Problem in der AWS Lightsail Bitnami Multisite Wordpress (WordPress 5.0.4) -Instanz beheben, indem ich Folgendes ausführte:

  1. Stellen Sie sicher, dass das WPMU Domain Mapping-Plugin deaktiviert ist
  2. Bearbeite /opt/bitnami/apps/wordpress/htdocs/wp-config.php ...

    ein. Fügen Sie Folgendes hinzu:

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

    b. Auskommentieren:

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

Nach diesen Änderungen war die Anmeldung erfolgreich - keine Fehler. Vielen Dank für alle Beiträge. Ohne das würde ich mich immer noch am Kopf kratzen.

Ich habe die Antwort hier gefunden:

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

Diese Domain-Mapping-Funktionalität ist in WordPress Multisite seit Version 4.5 enthalten . Wenn Sie eine ältere Version verwenden, benötigen Sie das WordPress MU Domain Mapping-Plugin.

Aus diesem Grund ist das WPMU Domain Mapping-Plugin nicht unbedingt im AWS Lightsail Bitnami Multisite-Paket enthalten.

George Drew
quelle
Danke dafür! Es hat bei mir funktioniert, ohne das WPMU Domain Mapping Plugin zu deaktivieren. Ich habe SUNRISE auch nirgendwo gefunden, also musste ich das auch nicht kommentieren.
Monarch Wadia
2

Ich habe gerade ein ähnliches Problem mit Subdomain Multisite behoben.

Mit:

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

Die Site hat immer noch einen Cookie-Fehler ausgegeben und in einigen Fällen versucht, das oben Vorgeschlagene zu versuchen.

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

Dies verursachte einen anderen Fehler beim Löschen von Definitionen, die beim Aufrufen von Unterwebsites auf "COOKIE_DOMAIN" verweisen.

Schließlich konnte ich mich anmelden, nachdem ich sichergestellt hatte, dass beide direkt über den Netzwerkinformationen für mehrere Standorte definiert waren

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

Stellen Sie sicher, dass beide definiert sind. Ich hoffe das hilft.

Ruben Apolinar
quelle
Um dies zu verdeutlichen, scheint es mit just define ('COOKIE_DOMAIN', '') zu funktionieren.
Ruben Apolinar
1

Ich habe define auskommentiert ('SUNRISE', 'on');

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

In diesem Fall wird die folgende Fehlermeldung nicht angezeigt:

FEHLER: Cookies werden von Ihrem Browser blockiert oder nicht unterstützt. Sie müssen Cookies aktivieren, um WordPress verwenden zu können.

Das Login hat auch funktioniert.

Joone Hur
quelle
1

Also hatte ich auch dieses Problem und bin auf viele Lösungen gestoßen, wie die hier erwähnten, aber sie haben nicht funktioniert.

Was funktionierte, war einfach Folgendes zur Multisite-Konfiguration in wp-config hinzuzufügen:

define('COOKIE_DOMAIN', false);

so dass der abschnitt in wp-config so aussieht:

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);

poste hier, damit andere es finden und weniger Zeit damit verbringen, ihren Kopf gegen ihren Schreibtisch zu schlagen als ich.

Ronaut
quelle
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);

Hier ist meine neue wp-config. Es sieht so aus, als wäre es fest codiert, um eine bestimmte Site zu sein, und es wurde nicht zugelassen, dass andere Domains funktionieren - nur Subdomains. Tolle Antworten hier.

Andy
quelle
0

Ich hatte auch dieses Problem und nichts, was ich geholfen habe. Versuchte es in Microsoft Edge und bekam den Fehler nicht.

Zumindest in meinem Fall hat nur Google Chrome das Problem verursacht.

Schlange
quelle
0

Seltsamerweise funktionierte es für mich (auf mehr als einer Multisite), SUBDOMAIN_INSTALL auf false zu setzen. Um ehrlich zu sein, hatte ich keine Zeit mehr zu untersuchen, warum ...

define('SUBDOMAIN_INSTALL', false);

Martin von WP-Stars.com
quelle
0

DAS BEHEBTE ES FÜR MICH Ich hatte WordPress nicht vollständig für den neuen Domainnamen eingerichtet. Ich hatte meine Website erstellt subdomain.domain.com ich dann so bleiben wollte newdomain.com über subdomain.domain.com Dies erforderte

  1. WordPress- Netzwerk> Admin> Site , ändere Site in neuen Namen (was ich bereits getan hatte, Site funktionierte)
  2. WordPress- Netzwerk> Admin> Einstellungen> Domänen , fügen Sie der Site-ID einen neuen Namen hinzu und markieren Sie die primäre Domäne mit Ja (um anzuzeigen, dass dieser Name der primäre Name ist). Um die Site-ID zu finden, bewegen Sie den Mauszeiger über das Netzwerk> admin> site. Dort wird die Site-ID angezeigt , an der Sie arbeiten. Hoffe, dies hilft jedem, der die Cookies erhalten hat, die blockierte oder nicht unterstützte Nachricht beim Versuch, sich einzuloggen. Mit freundlichen Grüßen SamTapsell
Sam Tapsell
quelle
0

Ich konnte das Problem beheben, nachdem ich das Folgende in wp-config.php hinzugefügt hatte. Referenz

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 ) );
Baga
quelle
-1

Bitte versuchen Sie Folgendes zu Ihrer wp-config.php-Datei hinzuzufügen

Entfernen Sie vor dem Testen auch alle Cookies aus Ihrem Browser

define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );
Dean Jansen
quelle
Als ich diese Änderung vornahm, konnte ich mich auf keiner Website anmelden, einschließlich der Hauptwebsite.
Steve