Cookie di multisite tempat situs jaringan memiliki nama domain sendiri

14

Saya memutuskan untuk mengintegrasikan beberapa situs web Wordpress yang berdiri sendiri ke dalam satu instalasi multisite.

Saya membuat instalasi multisite baru dengan subdirektori, membuat situs jaringan MU dengan URL subdirektori, dan mengekspor konten dari situs mandiri asli, lalu mengimpor konten itu ke situs MU subdirektori.

Saya kemudian menghapus situs mandiri asli dari cPanel, dan mengatur nama domain situs MU ke nama domain asli.

Situs memuat pada nama domain aslinya, tetapi ketika saya mencoba masuk ke domainname.com/wp-admin (menggunakan kredensial pengguna admin jaringan multisite baru), saya menerima kesalahan:

GALAT: Cookie diblokir atau tidak didukung oleh browser Anda. Anda harus mengaktifkan cookie untuk menggunakan WordPress.

Cookies yang diaktifkan di Chrome.

Saya mencoba menambahkan yang berikut ke wp-config.php:

define('COOKIE_DOMAIN', false);

tapi masalahnya tetap ada.

Masalah yang sama terjadi jika saya menggunakan WP Migrate DB Pro, untuk menarik situs web mandiri ke situs subdirektori MU, kemudian menghapus situs mandiri dari cPanel, dan kemudian mengatur URL situs subdirektori MU menjadi nama domain situs mandiri asli. Bagian depan situs memuat dengan baik, saya tidak bisa login ke admin.

Bantuan dihargai.

Steve
sumber
1
Pernahkah Anda melihat jawaban ini Cara mengatur Wordpress Multisite di beberapa domain tanpa plugin?
bueltge
Terima kasih @bueltge, mencoba menambahkan define('COOKIE_DOMAIN', false);tetapi masuk ke sub-situs dengan domainnya sendiri tidak berfungsi - ia kembali ke layar login yang sama.
Steve
@Steve Anda harus mencoba secara spesifik apa yang dinyatakan oleh jawaban dan mengaturnya ke string kosong, yaitu define('COOKIE_DOMAIN', '');. Boolean falsemungkin atau mungkin tidak memiliki arti yang sama dengan string kosong '', tergantung pada aplikasinya.
bosco
By MU, maksud Anda Anda menggunakan plugin pemetaan domain? Terima kasih.
Greeso
Tidak @Greeso, menggunakan fungsionalitas URL situs bawaan.
Steve

Jawaban:

22

Pertama-tama Bersihkan Cache Browser (termasuk cookie) + cache server dari plugins cache dll.

Kemudian atur hal berikut dalam wp-config.phpfile Anda :

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

Anda juga dapat memeriksa jawabannya dari SINI :

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

Jika masih gagal, baca jawaban ini atau hubungi dukungan server Anda, mungkin ada masalah konfigurasi di server.

Scott
sumber
Hai Scott. Masalah serupa telah muncul di situs MU lainnya. Saya telah menambahkan konstanta di atas wp-config.php, tetapi di situs MU lainnya ini, childsitedomain.com/wp-login.phpmenghasilkan kesalahan. The constant "COOKIE_DOMAIN" is defined (probably in wp-config.php). Please remove or comment out that define() line.Adakah gagasan tentang bagaimana mengatasi situasi ini?
Steve
Jika saya berkomentar pernyataan itu, saya menerima kesalahan setelah masuk ke situs anak:ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
Steve
Saya telah mengangkat masalah ini dalam pertanyaan baru .
Steve
7

Menggunakan WordPress versi 4.9.4.

Saya mendapatkan kesalahan cookie dan melihat berbagai opsi bantuan dan akhirnya menyelesaikannya dengan menggunakan campuran perbaikan Scott:

Catatan: Saya tidak melakukan pembersihan cache cookie

a) Mengedit sunrise.phpbaris keluar wp-config.php(Saya menggunakan pemetaan domain asli sehingga menghapus perubahan instalasi plugin MU yang saya buat)

b) Menyesuaikan saya wp-config.phpdengan

/* 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. */
pengguna140609
sumber
3

Akhirnya setelah berjam-jam, secara harfiah, pemecahan masalah saya bisa menyelesaikan ini pada AWS Lightsail Bitnami Multisite Wordpress (WordPress 5.0.4) contoh dengan melakukan hal berikut:

  1. Pastikan plugin Pemetaan Domain WPMU dinonaktifkan
  2. Edit /opt/bitnami/apps/wordpress/htdocs/wp-config.php ...

    Sebuah. Tambahkan yang berikut ini:

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

    b. Beri komentar:

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

Setelah perubahan ini, login berhasil - tidak ada kesalahan. Terima kasih atas masukan semua orang. Jika bukan karena itu, aku masih akan menggaruk kepalaku.

Saya memang menemukan jawabannya di sini:

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

Ini fungsi pemetaan domain termasuk dalam WordPress Multisite sejak v4.5 . Jika Anda menggunakan versi yang lebih lama, Anda akan memerlukan plugin Pemetaan Domain MU WordPress.

Jadi tampaknya plugin Pemetaan Domain WPMU tidak perlu dimasukkan dalam paket AWS Lightsail Bitnami Multisite.

George Drew
sumber
Terima kasih untuk ini! Ini bekerja untuk saya tanpa menonaktifkan plugin Pemetaan Domain WPMU. Saya juga tidak menemukan SUNRISE di mana pun, jadi saya juga tidak perlu berkomentar.
Monarch Wadia
2

Saya baru saja menyelesaikan pemecahan masalah yang serupa dengan subdomain multisite.

Dengan:

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

Situs itu masih membuat kesalahan cookie dan dalam beberapa kasus mencoba apa yang disarankan di atas .........

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

Ini menyebabkan kesalahan yang berbeda untuk menghapus mendefinisikan referensi "COOKIE_DOMAIN" pada subsitus kunjungan.

Akhirnya saya bisa login setelah memastikan keduanya didefinisikan tepat di atas informasi jaringan multisite

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

Coba pastikan keduanya didefinisikan. Saya harap ini membantu.

Ruben Apolinar
sumber
Untuk mengklarifikasi di atas, tampaknya berfungsi hanya dengan mendefinisikan ('COOKIE_DOMAIN', '');
Ruben Apolinar
1

Saya berkomentar dengan define ('SUNRISE', 'on');

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

Kemudian, saya tidak melihat pesan kesalahan di bawah ini:

GALAT: Cookie diblokir atau tidak didukung oleh browser Anda. Anda harus mengaktifkan cookie untuk menggunakan WordPress.

Login juga mulai berfungsi.

Joone Hur
sumber
1

Jadi saya juga mengalami masalah ini dan menemukan banyak solusi seperti yang disebutkan di sini tetapi tidak berhasil.

Apa yang berhasil hanyalah menambahkan yang berikut ini ke konfigurasi multisite di wp-config:

define('COOKIE_DOMAIN', false);

sehingga bagian dalam wp-config terlihat seperti ini:

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

memposting di sini sehingga orang lain dapat menemukannya dan menghabiskan lebih sedikit waktu membenturkan kepala mereka ke meja mereka daripada saya.

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

Inilah wp-config baru saya. Sepertinya hardcoded menjadi situs tertentu, dan tidak membiarkan domain lain berfungsi - hanya subdomain. Jawaban yang bagus di sini.

Andy
sumber
0

Saya juga mengalami masalah ini, dan tidak ada yang membantu saya. Sudah mencoba di Microsoft Edge, dan tidak mendapatkan kesalahan.

Jadi setidaknya dalam kasus saya, hanya Google Chrome yang menyebabkan masalah.

ular
sumber
0

Anehnya itu bekerja untuk saya (lebih dari satu multisite) untuk mengatur SUBDOMAIN_INSTALL menjadi false. Sejujurnya, saya tidak punya waktu untuk menyelidiki lebih lanjut mengapa ...

define('SUBDOMAIN_INSTALL', false);

Martin dari WP-Stars.com
sumber
0

INI TETAP ITU UNTUK SAYA Saya belum mengatur WordPress sepenuhnya untuk nama domain baru. Saya telah membuat situs saya subdomain.domain.com Saya kemudian ingin tetap sebagai newdomain.com melalui subdomain.domain.com Ini diperlukan

  1. Jaringan WordPress > admin> situs , ubah situs menjadi nama baru (yang sudah saya lakukan, situs itu berfungsi)
  2. Jaringan WordPress > admin> pengaturan> domain , tambahkan nama baru ke ID situs dan centang ya untuk domain primer (untuk menunjukkan nama ini adalah nama utama). Untuk menemukan ID situs, Anda dapat mengarahkan kursor ke jaringan> admin> situs yang akan mengatakan ID situs yang sedang Anda kerjakan. Semoga ini bisa membantu siapa saja yang mendapatkan cookie diblokir atau tidak didukung pesan ketika mencoba login Best wishes SamTapsell
sam tapsell
sumber
0

Saya dapat menyelesaikan masalah setelah menambahkan di bawah ini di wp-config.php. Referensi

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
sumber
-1

Silakan coba tambahkan yang berikut ke file wp-config.php Anda

Hapus juga semua cookie dari browser Anda sebelum pengujian

define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );
Dean Jansen
sumber
Ketika saya melakukan perubahan itu, saya tidak bisa masuk ke situs web apa pun, termasuk situs web utama.
Steve