WP multisiteで異なるドメインのサブサイトにログインできなければ⋯⋯

Cartoon scene of a female programmer with Caucasian descent, immersed in updating her self-hosted blog via a computer. The computer screen exhibits a blog post editor. Surrounding her is a vibrant office setup with books and tech accessories.

WordPressのマルチサイト(Multisite)ネットワーク設定では、管理者はサブサイトのログイン失敗問題に直面する可能性があり、特に主サイトとサブサイトが異なるドメインを使用している場合にはこの問題が発生しやすくなります。この記事では、この問題を解決し、サブサイトへの正常なアクセスとログインを確保する方法について説明します。

問題の説明

典型的なWordPressマルチサイトネットワークでは、主サイトとサブサイトは同じトップレベルドメインを共有する可能性がありますが、異なるドメインを使用する必要がある場合もあります。例えば、ネットワークの構造は以下のようになります:

  • example.com(主サイト)
  • sub.example.com(サブサイト)
  • example.net(サブサイト)

この構造で、example.netにアクセスまたはログインしようとすると、「Cookieがブロックされているか、使用しているブラウザはサポートしていません」というエラーが表示される可能性があります。ただし、example.comからsub.example.comに切り替えると、この問題は発生しません。

解決策

  1. wp-config.phpファイルを更新する:
    wp-config.phpファイルに以下のコードを追加して、Cookiesが異なるサブドメイン間で正しく動作するようにします:
   define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);

これにより、どのサイトにアクセスしても、WordPressはブラウザーに適切なCookiesを設定します。

  1. ブラウザのCookiesとキャッシュをクリアする:
    設定を変更した後、ブラウザのCookiesとキャッシュをクリアし、再度ログインを試みます。
  2. プラグインを使用する:
    WP Multisite SSOなどのプラグインは、異なるドメイン間でのシングルサインオン問題を解決するのに役立ちます。私たちは個人的に試していないため、推薦はできませんが、この問題を解決する選択肢として利用できるかもしれません。

COOKIE_DOMAINを理解する

COOKIE_DOMAIN定数は、WordPressにCookiesをどのように設定するかを伝えます。ログインすると、WordPressはブラウザにcookieを設定して、認証済みであることを示します。COOKIE_DOMAINは、このcookieのスコープを設定し、ブラウザはそのスコープに一致するサイトに対してのみcookieを送信します。たとえば、example.comにログインすると、このcookieのスコープはexample.comに設定され、このドメインまたはそのサブドメインにアクセスするときにのみ、ブラウザはこのcookieを送信します。

追加リソース

上記の手順を通じて、WordPressマルチサイトネットワークでのサブサイトログイン失敗問題を解決し、特に異なるドメインを使用している場合には、正常なアクセスとログインを確保できるでしょう。

山月をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む