ライセススタッフが書くブログ。

WordPressサイトで特定のページにBASIC認証を設定する方法

| Web制作のこと

検索しても記事があまり出てこない。

自分もびっくりしたのですが、「WordPressサイト」で「特定のページ」に「BASIC認証」を設定したいだけなのに、あまりマッチした記事がGoogle先生でも引っかかって来ないよ!!

「サイト全体」に「BASIC認証」を掛けたり、「特定のページ」に「パスワード保護」を設定する記事はよく見かけますが、「WordPressサイト」で「特定のページ」に「BASIC認証」を設定する方法はあまりなかったので自分の忘備録として記事にしてみました。

まぁ、あまり事例がないんでしょうね。テスト運用中のサイト全体にBASIC認証を設定する事はよくあるにしても。

 

BASIC認証を設定する方法。

通常のBASIC認証

そもそも通常BASIC認証を設定する時は下記の方法があると思います。

1. サイトのルートディレクトリトップのhtaccessにBASIC認証の記述をする。

2. レンタルサーバーのコントロールパネルからアクセス制限の設定をする。

今回は「WordPressサイト」で「特定のページ」に「BASIC認証」を設定する。のが条件ですので、まず1の方法だとサイト全体にBASIC認証が設定されてしまいます。次に2の方法だとコントロールパネルからディレクトリを指定してBASIC認証を設定するのですが、WordPressの特性上ディレクトリフォルダが存在していないためコントロールパネルから設定出来ません。

ではどうするか!?
 

ディレクトリが無いなら作れ

「WordPressサイト」で「特定のページ」に「BASIC認証」を設定する方法

WordPressサイトの構造は下記のような感じ、もしくはwpフォルダなどを作成してインストールするのが一般的だと思います。

では今回は例として、
https://sample.com/about/himitsuにBASIC認証を設定してみたいと思います。
見出しにあるように「ディレクトリが無いなら作れ」ということでディレクトリを作っちゃいます。
sampleの下層に「about」ディレクトリ、さらにその下層に「himitsu」ディレクトリを設置しました。
こうすることで擬似的にWordPressのページのURLを作成します。

単純にディレクトリを増やすだけだと、WorsPressサイトとして動作しなくなるため下記の施策をします。

1. ルートディレクトリトップにある、「index.php」をコピーして「about」と「himitsu」の中へそれぞれ格納します。

2. ルートディレクトリトップにある、「.htaccess」をコピーして「himitsu」の中へ格納します。

3. あらかじめ作成した「.htpasswd」を「himitsu」の中へ格納します。

3. コピーした「index.php」と「.htaccess」の記述を書き換えていきます。

※htpasswdは下記サイトなどで作って下さい。
ルフトツールズ(LUFTTOOLS) web・ウェブ制作に役立つ便利ツール集

 
超簡単!自分で「凄いバナー」が作れる!【バナープラス】

ここまでを一度整理すると下記のようになっていると思います。

 

index.php
17行目の「require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );」をパスを下の階層に移したので「/..」を書き加えます。

1つ下の階層の「about」のindex.phpは「require( dirname( __FILE__ ) . ‘/../wp-blog-header.php’ );」となり、

2つ下の階層の「himitsu」のindex.phpは「require( dirname( __FILE__ ) . ‘/../../wp-blog-header.php’ );」となります。

 

.htaccess
「himitsu」フォルダの「.htaccess」へBASIC認証の設定を書き加えます。
AuthUserFileが

AuthUserFileのフルパスは環境に合わせて書き換えて下さい。

ちなみにAuthUserFileのフルパスがわからない人は下記のphpをFTPなどで任意の場所にアップロードしてブラウザで表示するとフルパスがわかりますので試して確認して下さい。

該当のURLへアクセスしてみるとBASIC認証がちゃんと機能している事と思います。
うまくいかない方は、各ファイルの階層が正しいか、各ファイルの記述(特にパス)が正しいかもう一度チェックしてみて下さい。





Webを作るのは人。

INFORMATION

raisez(ライセス)に興味を持った方は、是非チェックをしてください。

Webを楽しむのは人。

CONTACT

Web制作、Webビジネスのご相談はお気軽にご連絡ください。