WEB系キャンパス

WordPressで固定ページだけBasic認証をかけてパスワード必要なページを作成

basic

サイトにパスワード制限をかける方法で一番てっとり早い方法といえばBasic認証をかける事です。
Basic認証は実サイトに実装することより、Googleにインデックスされないので、テスト環境の構築の際はよく使います。
今回はWordPressで公開されたサイトで一部固定ページのみBasic認証をかけたいという要望があったので、そちらの対応策を備忘録。

サイト全体をBasic認証をかける場合

サイト全体にBasic認証をかける場合は下記のファイルがあればOKです。
「.htpassword」…パスワードを格納しているファイル
「.htaccess」…htpasswordを読み込むファイル

(1)htpasswordを準備

※htpasswordの中のパスワードの記述はこちらのサイトなどで暗号化しておきます。

htpasswordの記述は非常にシンプル
IDが「admin」PWが「test」の場合

admin:test

これが暗号かけるとこうなる

admin:ngMeDQ7DUorco

ファイル名は前に「.」をつけて「.htpassword」とします。
前に「.(ドット)」をつけることによって不可視ファイルとなります。
デスクトップに保存したはずなのに、「.htpassword」が表示されないって場合は不可視ファイルを表示させる必要があります。

Macで不可視ファイルを表示させる方法はアプリケーション→ユーティリティー→ターミナルを開いて以下の記述を入力してリターン。

$ defaults write com.apple.finder AppleShowAllFiles TRUE

不可視ファイル見せたくなくなったら下記のコードをターミナルに入力してリターン。

$ killall Finder

(2)htaccessを準備

「.htpassword」と同じようにファイル名の一番前に「.htaccess」とします。
htaccessの内容は以下

AuthUserFile “サーバーのフルパス/.htpasswd"
AuthName “Basic Site"
AuthType BASIC
require valid-user

サーバーのフルパスがわからない場合はレンサバのコンパネで調べるか、以下のPHP書いたファイルをサーバーのディレクトリにアップしてURLをたたく。

<?php 
phpinfo();
?>

※上記コードを書いたPHPファイル(php_info.phpとかで)をサーバーにアップ。

固定ページの一部にBasic認証をかける方法

例えば、仮に「https://webkcampus.com/service」っていう固定ページにかけたい場合。

(1)サイトURL(WordPressの入っているフォルダ)の直下に「service」というフォルダを作成
(2)「service」内にURL直下の「.htaccess」と「index.php」をコピーする
(3)index.phpのファイルを編集

require( dirname( __FILE__ ) . ‘/../wp-blog-header.php' );

(4)あとは、先に書いたBasic認証のかけ方と同じように「.htpassword」を「service」内に入れて、「.htaccess」を編集してOK

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です