Cookies trong nhiều trang web nơi các trang web mạng có tên miền riêng của họ


14

Tôi quyết định tích hợp một số trang web Wordpress độc lập vào một bản cài đặt nhiều trang.

Tôi đã tạo một bản cài đặt nhiều trang hoàn toàn mới với các thư mục con, tạo một trang mạng MU với URL thư mục con và xuất nội dung từ trang độc lập ban đầu, sau đó nhập nội dung đó vào trang MU của thư mục con.

Sau đó tôi đã xóa trang web độc lập ban đầu khỏi cPanel và đặt tên miền của trang MU thành tên miền ban đầu.

Trang web tải về tên miền ban đầu của nó, nhưng khi tôi cố gắng đăng nhập vào domainname.com/wp-admin (sử dụng thông tin đăng nhập người dùng quản trị mạng của multisite hoàn toàn mới), tôi gặp lỗi:

LRI: Cookies bị chặn hoặc không được trình duyệt của bạn hỗ trợ. Bạn phải kích hoạt cookie để sử dụng WordPress.

Cookies được kích hoạt trong Chrome.

Tôi đã thử thêm vào như sau wp-config.php:

define('COOKIE_DOMAIN', false);

nhưng vấn đề vẫn còn.

Vấn đề tương tự xảy ra nếu tôi sử dụng WP Migrate DB Pro, để kéo một trang web độc lập vào trang web thư mục con MU, sau đó xóa trang web độc lập khỏi cPanel, sau đó đặt URL của trang web thư mục con MU thành tên miền của trang web độc lập ban đầu. Giao diện người dùng của trang web tải tốt, tôi không thể đăng nhập vào quản trị viên.

Giúp đánh giá cao.



Cảm ơn @bueltge, đã thử thêm define('COOKIE_DOMAIN', false);nhưng đăng nhập vào một trang con với tên miền riêng không hoạt động - nó lặp lại cùng một màn hình đăng nhập.
Steve

@Steve bạn nên thử cụ thể những gì câu trả lời và đặt nó thành một chuỗi trống, tức là define('COOKIE_DOMAIN', '');. Boolean falsecó thể có hoặc không có cùng ý nghĩa với một chuỗi rỗng '', tùy thuộc vào ứng dụng.
bosco

Theo MU, bạn có nghĩa là bạn đang sử dụng plugin lập bản đồ tên miền? Cảm ơn.
Greeso

Không có @Greeso, sử dụng chức năng URL trang web tích hợp.
Steve

Câu trả lời:


22

Xóa bộ nhớ cache trình duyệt đầu tiên (bao gồm cookie) + bộ đệm máy chủ từ các plugin bộ đệm, v.v.

Sau đó thiết lập các mục sau trong wp-config.phptệp của bạn :

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

Ngoài ra, bạn có thể kiểm tra câu trả lời từ ĐÂY :

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

Nếu vẫn không thành công, hãy đọc câu trả lời này hoặc liên hệ với bộ phận hỗ trợ máy chủ của bạn, có thể có vấn đề về cấu hình trong máy chủ.


Xin chào Scott. Một vấn đề tương tự đã phát sinh trên một trang web MU khác. Tôi đã thêm các hằng số ở trên vào wp-config.php, nhưng trên trang MU khác này, childsitedomain.com/wp-login.phptạo ra lỗi The constant "COOKIE_DOMAIN" is defined (probably in wp-config.php). Please remove or comment out that define() line.Bất kỳ ý tưởng nào về cách khắc phục tình huống này?
Steve

Nếu tôi nhận xét về tuyên bố đó, tôi sẽ nhận được lỗi sau khi đăng nhập vào trang web con:ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
Steve

Tôi đã nêu vấn đề này trong một câu hỏi mới .
Steve

7

Sử dụng phiên bản WordPress 4.9.4.

Tôi đã nhận được lỗi cookie và xem qua các tùy chọn trợ giúp khác nhau và cuối cùng đã khắc phục bằng cách sử dụng hỗn hợp sửa lỗi của Scott:

Lưu ý: Tôi đã không thực hiện bất kỳ xóa bộ nhớ cache cookie

a) Chỉnh sửa sunrise.phpdòng trong wp-config.php(Tôi đang sử dụng ánh xạ tên miền gốc nên đã xóa các thay đổi cài đặt plugin MU mà tôi đã thực hiện)

b) Điều chỉnh của tôi wp-config.phpthành

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

Cuối cùng, sau nhiều giờ, theo nghĩa đen, tôi đã có thể giải quyết vấn đề này trên phiên bản AWS Lightsail Bitnami Multisite Wordpress (WordPress 5.0.4) bằng cách thực hiện như sau:

  1. Đảm bảo plugin Bản đồ miền WPMU bị tắt
  2. Chỉnh sửa /opt/bitnami/apps/wordpress/htdocs/wp-config.php ...

    a. Thêm những điều sau:

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

    b. Nhận xét:

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

Sau những thay đổi này, đăng nhập đã thành công - không có lỗi. Cảm ơn cho đầu vào của mọi người. Nếu không phải như vậy, tôi vẫn sẽ gãi đầu.

Tôi đã tìm thấy câu trả lời ở đây:

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

Đây chức năng lập bản đồ miền được bao gồm trong WordPress nhiều trang kể từ v4.5 . Nếu bạn đang sử dụng phiên bản cũ hơn, bạn sẽ cần plugin WordPress MU Domain Mapping.

Vì vậy, có vẻ như plugin Bản đồ miền WPMU không cần thiết được bao gồm trong gói Multisite AWS Lightsail Bitnami.


Cảm ơn vì điều đó! Nó hoạt động với tôi mà không vô hiệu hóa plugin WPMU Domain Mapping. Tôi cũng không tìm thấy SUNRISE ở bất cứ đâu, vì vậy tôi cũng không phải bình luận gì.
Monarch Wadia

2

Tôi vừa hoàn thành khắc phục sự cố tương tự với multisite tên miền phụ.

Với:

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

Trang web vẫn đang gặp lỗi cookie và trong một số trường hợp thử những gì được đề xuất ở trên .........

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

Điều này gây ra một lỗi khác để xóa định nghĩa tham chiếu "COOKIE_DOMAIN" khi truy cập trang con.

Cuối cùng tôi đã có thể đăng nhập sau khi đảm bảo cả hai điều này được xác định ngay phía trên thông tin mạng nhiều trang

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

Hãy chắc chắn rằng cả hai đều được xác định. Tôi hi vọng cái này giúp được.


Để làm rõ ở trên, nó dường như hoạt động với chỉ định nghĩa ('COOKIE_DOMAIN', '');
Ruben Apolinar

1

Tôi đã nhận xét định nghĩa ('SUNRISE', 'on');

/ * xác định ('SUNRISE', 'trên'); * /
xác định ('COOKIE_DOMAIN', $ _SERVER ['HTTP_HOST']);
định nghĩa ('COOKIE_DOMAIN', '');

Sau đó, tôi không thấy thông báo lỗi dưới đây:

LRI: Cookies bị chặn hoặc không được trình duyệt của bạn hỗ trợ. Bạn phải kích hoạt cookie để sử dụng WordPress.

Đăng nhập cũng bắt đầu làm việc.


1

Vì vậy, tôi cũng gặp vấn đề này và đã tìm ra rất nhiều giải pháp như những giải pháp được đề cập ở đây nhưng chúng không hiệu quả.

Những gì đã làm chỉ đơn giản là thêm phần sau vào cấu hình multisite trong wp-config:

define('COOKIE_DOMAIN', false);

để phần trong wp-config trông như vậy:

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

đăng ở đây để những người khác có thể tìm thấy nó và dành ít thời gian đập đầu vào bàn của họ hơn tôi đã làm.


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

Đây là wp-config mới của tôi. Có vẻ như nó đã được mã hóa cứng thành một trang web cụ thể và không cho phép các tên miền khác hoạt động - chỉ có các tên miền phụ. Câu trả lời tuyệt vời ở đây.


0

Tôi đã có vấn đề này là tốt, và không có gì tôi đã giúp đỡ. Đã thử nó trong Microsoft Edge và không gặp lỗi.

Vì vậy, trong trường hợp của tôi ít nhất, đó chỉ là Google Chrome gây ra sự cố.


0

Thật kỳ lạ, nó hoạt động với tôi (trên nhiều hơn một trang) để đặt SUBDOMAIN_INSTALL thành false. Thành thật mà nói, tôi đã không có thời gian để điều tra thêm tại sao ...

define('SUBDOMAIN_INSTALL', false);


0

NÓ CỐ ĐỊNH NÀY CHO TÔI Tôi đã không thiết lập WordPress đầy đủ cho tên miền mới. Tôi đã tạo ra trang web của tôi subdomain.domain.com sau đó tôi muốn vẫn là newdomain.com qua subdomain.domain.com này đòi hỏi

  1. Mạng WordPress > quản trị> trang web , thay đổi trang web thành tên mới (mà tôi đã thực hiện, trang web đang hoạt động)
  2. Mạng WordPress > quản trị viên> cài đặt> tên miền , thêm tên mới vào ID trang web và đánh dấu có cho tên miền chính (để chỉ ra tên này là tên chính). Để tìm ID trang web, bạn có thể di chuột qua mạng> quản trị viên> trang web sẽ cho biết ID trang web nào bạn đang làm việc. Hy vọng điều này sẽ giúp bất kỳ ai đang nhận cookie đều bị chặn hoặc không hỗ trợ tin nhắn khi cố gắng đăng nhập Lời chúc tốt nhất SamTapsell

0

Tôi đã có thể giải quyết vấn đề sau khi thêm vào bên dưới trong wp-config.php. Tài liệu tham khảo

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

Vui lòng thử thêm phần sau vào tệp wp-config.php của bạn

Đồng thời xóa tất cả cookie khỏi trình duyệt của bạn trước khi thử nghiệm

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

Khi tôi thực hiện thay đổi đó, tôi không thể đăng nhập vào bất kỳ trang web nào, kể cả trang web chính.
Steve
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.