web-dev-qa-db-ja.com

2つのサブドメインインストール間でWordPressログインクッキーを共有する

私は2つのWordPressをそれぞれ独自のサブドメインにインストールしています。

sub1.domain.com および sub2.domain.com

Sub1とsub2の間でログイン情報を共有したいです。私はすでに同じMySQLデータベースを使うようにそれらを設定しました、そして彼らは同じデータベーステーブルを使います。

両方のWebサイトに同じ認証情報でログインできます。

Sub2のwp-config.phpファイルには以下のコードがあります。

define('CUSTOM_USER_TABLE', 'wp_c_users');

define('CUSTOM_USERMETA_TABLE', 'wp_c_usermeta');

これはすべてうまくいきます。私の問題は、クッキーがサイト間で共有されていないということです。 Cookieを共有する代わりに、両方のサイトが他のサイトを削除して新しいCookieを作成するだけです。

Sub1とsub2の両方のwp-config.phpに次のコードを追加しました。

define('COOKIEPATH','domain.com/'); // Replace with your initial domain name
define('SITECOOKIEPATH','domain.com/'); // Replace with your initial domain name
define( 'COOKIEHASH',    md5( 'Y@^ET#UF!RG7#KQXP04^WF' ) );
define('COOKIE_DOMAIN', 'domain.com');

ユーザーがsub1にログインすると、Cookieは正常に作成され、sub2.domain.comにアクセスしてもこのサイトにはログインしません。

Sub2.domain.comにログインしようとすると、sub1のcookieが削除されて上書きされます。

どうすればこれら2つのWordPressインストールがお互いを上書きするのではなく同じクッキーを使うようになるでしょう?

どうぞよろしくお願いいたします。

2
Paul Hill

今日、私はまったく同じ問題に対する実用的な解決策を投稿しました。あなたはそれをここで見ることができます: ドメインとサブドメインの間でWordPressセッションとクッキーを共有する方法? 。私はいくつかの私の自身のウェブサイトでこの方法を使います。