Pliki cookie w wielu witrynach, w których witryny sieciowe mają własną nazwę domeny


14

Postanowiłem zintegrować kilka niezależnych stron Wordpress w jednej instalacji na wielu stronach.

Utworzyłem zupełnie nową instalację z wieloma katalogami z podkatalogami, utworzyłem witrynę sieciową MU z adresem URL podkatalogu i wyeksportowałem zawartość z oryginalnej autonomicznej witryny, a następnie zaimportowałem tę zawartość do strony MU podkatalogu.

Następnie usunąłem oryginalną samodzielną witrynę z cPanel i ustawiłem nazwę domeny witryny MU na oryginalną nazwę domeny.

Witryna ładuje swoją oryginalną nazwę domeny, ale kiedy próbuję zalogować się do domainname.com/wp-admin (używając zupełnie nowych danych logowania administratora sieci w wielu miejscach), pojawia się błąd:

BŁĄD: pliki cookie są blokowane lub nie są obsługiwane przez przeglądarkę. Aby korzystać z WordPress, musisz włączyć obsługę plików cookie.

Pliki cookie włączone w Chrome.

Próbowałem dodać następujące elementy wp-config.php:

define('COOKIE_DOMAIN', false);

ale problem pozostaje.

Ten sam problem występuje, jeśli korzystam z WP Migrate DB Pro, aby pobrać autonomiczną witrynę internetową do witryny podkatalogu MU, a następnie usunąć autonomiczną witrynę z cPanel, a następnie ustawić adres URL witryny podkatalogu MU jako oryginalną nazwę domeny autonomicznej witryny. Front strony ładuje się dobrze, po prostu nie mogę się zalogować do administratora.

Pomoc doceniona.



Dzięki @bueltge, próbowałem dodać, define('COOKIE_DOMAIN', false);ale logowanie do podstrony z własną domeną nie działa - zapętla się z powrotem do tego samego ekranu logowania.
Steve

@ Steve powinieneś dokładnie sprawdzić, co stwierdza odpowiedź i ustawić pusty ciąg znaków, tj define('COOKIE_DOMAIN', '');. Wartość logiczna falsemoże, ale nie musi mieć takie samo znaczenie jak pusty ciąg '', w zależności od aplikacji.
bosco

Mówiąc MU, masz na myśli, że używasz wtyczki mapowania domen? Dzięki.
Greeso

Nie @Greeso, używając wbudowanej funkcji adresu URL witryny.
Steve

Odpowiedzi:


22

Najpierw wyczyść pamięć podręczną przeglądarki (w tym pliki cookie) + pamięć podręczną serwera z wtyczek pamięci podręcznej itp.

Następnie ustaw następujące parametry w swoim wp-config.phppliku:

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

Możesz również sprawdzić odpowiedź TUTAJ :

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

Jeśli nadal nie powiedzie się, przeczytaj tę odpowiedź lub skontaktuj się ze wsparciem serwera, może to oznaczać problem z konfiguracją serwera.


Cześć Scott. Podobny problem pojawił się na innej stronie MU. Dodałem powyższe stałe wp-config.php, ale na tej innej stronie MU childsitedomain.com/wp-login.phppojawia się błąd. The constant "COOKIE_DOMAIN" is defined (probably in wp-config.php). Please remove or comment out that define() line.Masz jakieś pomysły, jak poradzić sobie z tą sytuacją?
Steve

Jeśli skomentuję to oświadczenie, otrzymam błąd po zalogowaniu się na stronie podrzędnej:ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
Steve

Podniosłem ten problem w nowym pytaniu .
Steve

7

Korzystanie z WordPress w wersji 4.9.4.

Otrzymałem błąd związany z plikiem cookie, przejrzałem różne opcje pomocy i ostatecznie rozwiązałem go za pomocą mieszanki poprawki Scotta:

Uwaga: nie wyczyściłem pamięci podręcznej plików cookie

a) Edycja w sunrise.phplinii wp-config.php(korzystałem z natywnego mapowania domen, więc usunąłem wprowadzone przeze mnie zmiany instalacyjne wtyczki MU)

b) Dostosowałem mój wp-config.phpdo

/* 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

Wreszcie po dosłownie godzinach rozwiązywania problemów udało mi się to rozwiązać w instancji AWS Lightsail Bitnami Multisite Wordpress (WordPress 5.0.4), wykonując następujące czynności:

  1. Upewnij się, że wtyczka WPMU Domain Mapping jest wyłączona
  2. Edytuj /opt/bitnami/apps/wordpress/htdocs/wp-config.php ...

    za. Dodaj następujące:

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

    b. Skomentować:

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

Po tych zmianach logowanie się powiodło - żadnych błędów. Dzięki za wkład wszystkich. Gdyby nie to, nadal drapałbym się po głowie.

Znalazłem odpowiedź tutaj:

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

Ta funkcja mapowania domen jest zawarta w WordPress Multisite od wersji 4.5 . Jeśli używasz starszej wersji, potrzebujesz wtyczki WordPress MU Domain Mapping.

Wygląda więc na to, że wtyczka WPMU Domain Mapping jest niepotrzebnie zawarta w pakiecie AWS Lightsail Bitnami Multisite.


Dzięki za to! Działa dla mnie bez wyłączania wtyczki WPMU Domain Mapping. Nigdzie też nie znalazłem SUNRISE, więc też nie musiałem tego komentować.
Monarcha Wadia,

2

Właśnie skończyłem rozwiązywać podobny problem z wieloma domenami subdomen.

Z:

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

Witryna nadal zgłaszała błąd pliku cookie, aw niektórych przypadkach próbowała tego, co sugerowano powyżej .........

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

Spowodowało to inny błąd podczas usuwania definicji odwołujących się do „COOKIE_DOMAIN” podczas odwiedzania podwitryn.

W końcu udało mi się zalogować po upewnieniu się, że oba zostały zdefiniowane tuż nad informacjami o sieci w wielu miejscach

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

Upewnij się, że oba są zdefiniowane. Mam nadzieję, że to pomoże.


Aby wyjaśnić powyższe, wydaje się, że działa z funkcją „tylko zdefiniuj” („COOKIE_DOMAIN”, „”);
Ruben Apolinar,

1

Skomentowałem zdefiniuj („SUNRISE”, „on”);

/ * zdefiniuj („SUNRISE”, „on”); * /
zdefiniuj ('COOKIE_DOMAIN', $ _SERVER ['HTTP_HOST']);
Zdefiniuj („COOKIE_DOMAIN”, „”);

Następnie nie widzę poniższego komunikatu o błędzie:

BŁĄD: pliki cookie są blokowane lub nie są obsługiwane przez przeglądarkę. Aby korzystać z WordPress, musisz włączyć obsługę plików cookie.

Logowanie również zaczęło działać.


1

Miałem też ten problem i natknąłem się na wiele rozwiązań, takich jak te wymienione tutaj, ale one nie działały.

To, co zadziałało, to po prostu dodanie do konfiguracji wielu witryn w wp-config:

define('COOKIE_DOMAIN', false);

aby sekcja w wp-config wyglądała tak:

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

publikowanie tutaj, aby inni mogli go znaleźć i spędzać mniej czasu uderzając głową o biurko niż ja.


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

Oto moja nowa wp-config. Wygląda na to, że stała się konkretną witryną i nie pozwalała na działanie innych domen - tylko subdomeny. Świetne odpowiedzi tutaj.


0

Miałem też ten problem i nic nie pomogłem. Wypróbowałem to w Microsoft Edge i nie dostałem błędu.

Przynajmniej w moim przypadku przyczyną problemu był tylko Google Chrome.


0

Dziwne, że działało dla mnie (na więcej niż jednym miejscu), aby ustawić SUBDOMAIN_INSTALL na false. Szczerze mówiąc, nie miałem czasu na dalsze badanie, dlaczego ...

define('SUBDOMAIN_INSTALL', false);


0

TO NAPRAWIONO TO DLA MNIE Nie skonfigurowałem WordPress w pełni dla nowej nazwy domeny. I stworzył mojej stronie subdomain.domain.com Potem chciał pozostać newdomain.com nad subdomain.domain.com Wymagało to

  1. WordPress network> admin> site , zmień stronę na nową nazwę (co już zrobiłem, strona działa)
  2. Sieć WordPress > admin> ustawienia> domeny , dodaj nową nazwę do identyfikatora witryny i zaznacz tak dla domeny podstawowej (aby wskazać, że ta nazwa jest nazwą podstawową). Aby znaleźć identyfikator witryny, możesz najechać wskaźnikiem myszy na sieć> admin> witryna, która powie, nad którym adresem pracujesz. Mam nadzieję, że to pomoże każdemu, kto dostał ciasteczka, blokuje lub nie obsługuje wiadomości podczas próby zalogowania. Najlepsze życzenia SamTapsell

0

Byłem w stanie rozwiązać problem po dodaniu poniżej w wp-config.php. Odniesienie

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

Spróbuj dodać następujące informacje do pliku wp-config.php

Przed testowaniem usuń również wszystkie pliki cookie z przeglądarki

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

Kiedy dokonałem tej zmiany, nie mogłem zalogować się na żadnej stronie, w tym na głównej.
Steve
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.