WordPress

お名前.comでWordPressインストール後に.htaccessを使ってBasic認証する方法

お名前.comの共用サーバーで使用している、WordPressのサイトにBasic認証をかける場合(コントロールパネルのアクセス制限)、WordPressをインストールした瞬間にコントロールパネルで設定したアクセス制限が使用できなくなります。

お名前.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認証がかかっていれば、ログイン画面が出現します。 ブラウザのキャッシュ削除などに気をつけてくださいね。