お名前.comの共用サーバーで使用している、WordPressのサイトにBasic認証をかける場合(コントロールパネルのアクセス制限)、WordPressをインストールした瞬間にコントロールパネルで設定したアクセス制限が使用できなくなります。
Contents
お名前.comのコントロールパネルで設定するアクセス制限は、WordPressには反映されない
何時間もかけて色々と試行錯誤を繰り返しましたが、どうしてもBasic認証ができない!!
ということが過去にありました。
何かあるのかな?と思って、契約しているレンタルサーバー、お名前.comのFAQを確認してみると・・・
お名前.comのコントロールパネルで設定するアクセス制限は、実はWordPressには反映されないという事実。。
しかし、これから説明する手順に従って、手動で.htaccessと.htpasswdのファイルを作成し、サーバーへアップロードするとBasic認証ができるようになります。
WordPressでサイトを作ったけど、サイトの公開自体はまだ先という場合や、特定の人にだけアクセスを許可したい場合などは、Basic認証をかけておきましょう。
Basic認証(基本認証)とは
Basic認証というのは、Webページに閲覧制限をかける認証方法のことです。
例えば、Webサイトを公開する前などに、Basic認証を設定しておくと、ページにアクセスしたユーザーのブラウザには、IDとパスワード入力のポップアップが表示されます。
こちらで設定したIDとパスワードを知っている特定の人だけがWebページにアクセスできるという仕組みです。※制限の方法は他にもあります
Basic認証をかけていない場合、特定ページのURLを知っている人であれば、いつでもページにアクセス出来ます。
STEP1 .htaccessをダウンロード(隠しファイルを表示)
まずは、FTPサーバーにつないで、該当フォルダの中を確認します。
.htaccessというファイルがあるはずです。
※.htaccessは隠しファイルの表示設定を変更すると現れます。
もしもファイルが表示されていないという方は、この方法をお試しください。
FTPクライアントがCyberduck(サイバーダック)の場合
Cyberduckを選択している状態で、メニューバーの表示を選択、不可視ファイルの表示を選択。
これで、表示されます。
表示されたら、.htaccessファイルをローカルの指定場所にダウンロードします。
STEP2 .htpasswdを作成
エディタを開き、.htpasswdを自分で作ります。
http://www.luft.co.jp/cgi/htpasswd.php
.htpasswd生成ツールを使うと便利です。
アクセスしたら、まずは認証する際に使用する、ユーザーIDとパスワードを入力してください。
入力が終わったら、生成ボタンを押します。
すると、パスワードが暗号化された(ユーザー名と、暗号化パスワードが半角コロンで区切られた)状態で生成されます。
.htpasswd内に記述するのは、この一行のみ。
さきほど作成した.htpasswdファイルにコピーアンドペースト。
済んだら、保存します。
STEP3 フルパスを調べる
フルパスは、とても簡単に調べることができます。
エディタを開いて、phpファイルを作成します。
<?php
echo __FILE__;
?>
ファイル名は何でも大丈夫です。今回は、「test.php」で保存します。
サーバーに接続し、フルパスを調べたいディレクトリへアップロードしましょう。
アドレスバーに、フルパスを調べたいURL/test.phpと入力し接続します。
するとフルパスが確認できました。
STEP4 .htaccessファイルに必要事項を入力し書き換え
ダウンロードしておいた.htaccessを開き、必要事項の書き換えを行います。
もともとの記述はこれ。
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
AuthUserFileの一行を書き換えて追記してください。
ちなみに、ピンク色の枠で囲んだ.htpasswdの箇所は、元々test.phpだったものを.htpasswdに書き換えています。
AuthUserFile /export/〇〇/××/△△/□/laptravel.com/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter your ID & Password"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
上書き保存をしたら、.htaccessと、.htpasswdファイルをサーバーの該当ディレクトリへアップロードして、アドレスバーにURLを入力してください。
Basic認証がかかっていれば、ログイン画面が出現します。
ブラウザのキャッシュ削除などに気をつけてくださいね。