wordpress WordPress ベーシック認証でリダイレクト ループ

2013年6月27日

特殊なケースだと思われるが、先日使っているホスティングでサブドメインを作成して、そこに WordPress をインストールし、ログインページにベーシック認証を設定したところ、以下のようなエラーになった。

  • Firefox
    ページの自動転送設定が正しくありません
    このアドレスへのリクエストに対するサーバの自動転送設定がループしています。
  • Chrome
    このウェブページにはリダイレクト ループが含まれています
    エラー 310 (net::ERR_TOO_MANY_REDIRECTS): リダイレクトが多すぎます。
  • IE
    このページは表示できません
    Web アドレス http://www.xxxx.xxxxxxx.com が正しいか確かめてください。
  • Opera
    リダイレクト
    この URL は http://www.xxxx.xxxxxxx.com/wp-login.php にリダイレクトされています。
  • ローカル環境(XAMPP)に同じようにサブドメインを作成して同様の設定をした場合は、問題なし。

サブドメインでのインストール以外ではこのエラーは発生しないのと、他のホスティングなどではこのような現象はないみたいなので、これはこのホスティング特有の現象の可能性が高い。

対応策:
「ErrorDocument」の2行を .htaccess の冒頭に記述。

参考にしたサイト:
prevent unauthorized WordPress wp-admin and wp-login.php attempts.

ErrorDocument 401 "Denied"
ErrorDocument 403 "Denied"

<files wp-login.php>
AuthName "Login"
AuthType Basic
AuthUserFile /home/xxxx/.htpasswd
require valid-user
</files>

参考:
ErrorDocument ディレクティブ
tagindex.com .htaccessの記述例

ErrorDocument 401 "Denied"  "# 認証に失敗した場合のエラー"
ErrorDocument 403 "Denied"  "# アクセス権限がない場合、デフォルトファイルがない場合のエラー"