• 解決済 jinbnet

    (@jinbnet)


    WordPressのアドレス(siteurl)と、サイトアドレス(home)が異なる場合に、
    ログイン状態を保存しても、ブログのトップ画面では必ずメタ情報が「ログイン」が表示され、サイト管理のリンクにならず、毎回パスワードを入力する必要が出ています。

    これを解決する方法はありますか?
    (siteurlとhomeが同じ場合には、正しく表示されるため、Cookieの問題ではないと思われます。)

    ・WordPress 3.4.1
    ・Firefox 13.1
    ・CORESERVER Mini使用(PHP 5.2.5、MySQL 5.1.22-rc)

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • テーマをカスタマイズしているのでしたら、デフォルトテーマに変更して確認してみてください。(テーマに問題がない場合は、プラグインの停止)
     
    マルチサイト化しているサイトでは、正しく動作しない可能性があるようです。
    私の環境では、専用ディレクトリに配置したWP(siteurlとhomeが違う)でも正しくログイン判定出来ています。
    マルチサイト化していないでしょうか?
    WordPress を専用ディレクトリに配置する

    マルチサイトユーザーの方へ: 以下の手順はマルチサイトネットワークを有効化している場合には正しく適用されず、動作しません。

    トピック投稿者 jinbnet

    (@jinbnet)

    デフォルトテーマでも、状況には変わりありません。
    おそらく、ログイン時に発行されるCookieのアドレスと、ブラウザ上に保存されているCookieのアドレスが異なるためだろうと考えました。

    プラグインの停止は試してみたでしょうか?
    マルチサイト化はしていませんか?
     
    管理画面では、’wordpress_’ + ‘siteurlのハッシュ値’(SSL環境下では’wordpress_sec_’ + ‘siteurlのハッシュ値’)、WPサイトでは’wordpress_logged_in_’ + ‘siteurlのハッシュ値’という名前のクッキーが保存されます。
    ‘echo get_site_option( ‘siteurl’ );’を実行して、サイトで取得されるsiteurlを確認してみてください。
    どのページでも読み込まれるheader.phpかsidebar.phpがいいと思います。
    また、サイトを表示している状態で、’wordpress_logged_in_’ + ‘siteurlのMD5ハッシュ値’という名前のクッキーが保存されているか確認してみてください。
    上記のクッキーが保存されている場合、クッキーの内容が’ユーザー名’ + ‘%7C’ + ‘タイムスタンプ’ + ‘%7C’ + ‘何らかのハッシュ値’のようにユーザー名から始まって’%7C’で区切って3つに別れているか確認してみてください。
     
    認証はクッキーで行っているので、クッキーの発行・保存に何らかの問題があるのだとは思いますが、ログインページやトップページで、’get_site_option( ‘siteurl’ )’で正しくsiteurlが取得できる場合、問題はsiteurlではなく、他の所にあると思います。
    ログインページはテンプレートが関係ありませんので、wp-login.phpに直接記述して確認してください。
     

    おそらく、ログイン時に発行されるCookieのアドレスと、ブラウザ上に保存されているCookieのアドレスが異なるためだろうと考えました。

     
    クッキーはアクセスしたユーザーのPCに保存され、WEBからアクセス出来るファイルではありませんので、アドレスという物は存在しません。
    ただし、保存時にクッキーを発行したWEBサイトがドメインとパスを設定しますので、他のドメインからはクッキーにアクセス出来ないようになっています。
    上記’wordpress_logged_in_’ + ‘siteurlのMD5ハッシュ値’のドメインとパスを確認してください。
    siteurlとhomeはどのように違うのでしょうか?
    同じドメイン上(サブドメインも同じ)で、サブディレクトリにWPを設置しているのでしょうか?

3件の返信を表示中 - 1 - 3件目 (全3件中)

トピック「homeとsiteurlが異なる場合のログイン状態」には新たに返信することはできません。