サイト全体にBASIC認証をかける方法

WordPressのサイト全体にBASIC認証をかけるにはプラグインで行う方法と、手動で.htaccessファイルを編集する方法の二種類がありますが、プラグインで行う場合はメディアファイルなどに認証がかからなかったりするものもあるので、今回は手動でのBASIC認証の設定を紹介します。

まずはサーバーパスを調べる

サーバーパスはサイトのURLとは違います。以下の内容を例えば test.php などの名前をつけて、BASIC認証をかけたいサーバーのディレクトリにアップロードしてください。

<?php
echo __FILE__;
?>

アップロードしたら、Chromeなどのブラウザでそのファイルにアクセスします。アップロードしたサーバーの公開URLが vektor-inc.co.jp ならば、vektor-inc.co.jp/test.php にアクセスすると、そのサーバーパスが表示されるのでメモ帳などにコピーしておきます。

パスを調べたファイルは削除してください

サーバー情報がわかるファイルが公開されているのはよくありませんので、確認が終わったらかならず該当ファイルを削除してください。

パスワードファイルを作成する

とりあえずBASIC認証のユーザー名とパスワードを記載した .htpasswdファイルを作成します。

BASIC認証は盗聴や改竄が簡単であるという欠点を持っていますが、これらを防ぐため、Digest認証というユーザ名とパスワードをMD5でハッシュ化して送る方法が考えられていますので、パスワードをMD5でハッシュ化した.htpasswdを作成します。

.htpasswsファイルを作成するジェネレーターは「MD5 BASIC認証 ジェネレーター」などで検索すれば出てきますが、今回はとりあえず
こちらのサイト(htpasswdジェネレータ)で説明します。

下記の画面で、[1]の部分にユーザー名とパスワード(半角英数字+記号)を入力して『暗号化』ボタンを押すと、[3]のようにすぐ下にユーザー名とパスワードが変換されたテキストが表示されます。

htpasswdジェネレーター画面

.htaccessファイルを編集する

WordPressを利用しているサイトの場合の多くは既に.htaccessファイルがサーバー内にあると思います。

サーバー上の.htaccessファイルをダウンロードして、以下の内容を入力します。

AuthUserFile  /*サーバーのパス*/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
require valid-user
<Files ~ “^.(htpasswd|htaccess)$”>
deny from all
</Files>

.htaccessを編集するときの注意

# BEGIN と # END の間は書き換えない

WordPressのサイトで、パーマリンクの設定がされている場合は .htaccessには下記のように # BEGIN WordPress と # END WordPress というような記述があります。この # BEGIN と # END の間の行は設定変更の際に書き換えられるので、この間は編集しないで、この下に追加してください。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 
# END WordPress
必ずバックアップを!

.htaccessの記述に問題があると 500 エラーでサイトが表示されなくなります。すぐに復帰出来るように必ず別途バックアップをとった上で行ってください。

Follow me!

Author Profile

石川栄和代表取締役
名古屋のウェブ制作会社数社に10年程度務めた後、株式会社ベクトル設立。
企画・運営・コンサルティング〜WordPressを中心としたシステム開発まで幅広く携わる。
[ 著書 ]
・いちばんやさしいWordPressの教本(共著)
・現場でかならず使われているWordPressデザインのメソッド(共著)
[ 最近のWordPressコミュニティでの活動 ]
2019 WordCampNiigata セッションスピーカー
2019 WordCampHaneda セッションスピーカー
2018 WordCampOsaka セッションスピーカー
2017 WordCampKyoto セッションスピーカー

初心者でも簡単!無料WordPressテーマ

100%GPL / 商用利用可能

Lightning は WordPress公式ディレクトリに登録されているカスタマイズ性の高いテーマです。
デモデータも配布されているので、ビジネスサイトの雛形が数分でセットアップできます。

VWSオンラインコミュニティー

オンラインコミュニティでは、より良いテーマ・プラグイン開発のため、機能改善・追加要望などの書き込み大歓迎です!
ユーザー同士の交流や意見交換の場としてもお気軽にご参加ください。
※質問はフォーラムでのみ対応となります。