WordPressのマルチサイト構築(Cookieがブロックされるエラー対応)

WordPress

マルチサイトに構築されたWordpressのサイトにログインする際に次のエラーが発生したら対応する方法を説明します。

エラー: Cookie がブロックされているか、お使いのブラウザーで未対応のようです。WordPress を使うには Cookie を有効化する必要があります。

以下のようにdefine( ‘COOKIE_DOMAIN’, false);を設定するとエラーはなくなります。

$ sudo vi /var/www/html/wp-config.php
define( 'WP_DEBUG', false );
//define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'sub.sample.co.jp' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
define( 'COOKIE_DOMAIN', false);

WordPress インスタンスが example.com で動作し、サブドメイン sub.example.com と sub2.example.com が存在する場合、通常はクッキーは各サブドメインに分かれて設定されます。しかし、define( ‘COOKIE_DOMAIN’, false ); を設定すると、クッキーは example.com ドメイン全体で共有されます。

まとめ

エラーの原因

wp-config.phpの設定値は、マルチサイト機能を有効にし、サブドメイン方式でサイトを運用するための標準的な設定です。特にdefine(‘MULTISITE’, true);define(‘SUBDOMAIN_INSTALL’, true);はマルチサイトをサブドメイン方式で設定していることを示します。
define( ‘COOKIE_DOMAIN’, false);の設定は、サブドメイン間でCookieを共有するために重要です。この設定により、マルチサイトネットワーク内の各サブサイトが同じログインセッションと認識情報を共有することが可能になります。

タイトルとURLをコピーしました