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