WordPressで特定のURL、ページ、ファイル単位でBasic認証を設定する方法
2017/03/12
特定のURL、ページ、ファイル単位でBasic認証を設定
特定のURL、ページ、ファイル単位でBasic認証を設定する方法解説
カテゴリ単位・フォルダ単位でBasic認証を設定する方法として「WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法」で記事を書いていますが、WordPressでカテゴリのフォルダ単位で Basic認証ができましたので、その応用として特定の URL・ページ単位で Basic認証を設定することもできるだろうと思いまして、実験してみました。
また、「Basic認証をファイル単位・URL単位で設定する方法の解説」ではファイル単位での Basic認証について解説をしていますが、この機能も含めた合わせ技という感じですね。
基本的な仕組みは、「WordPressの管理画面と公開画面を別のドメインに分離して運用する方法」に記載していますので、まずはそちらを参照してそもそもの仕組みは理解してください。
0.Basic認証を設定する準備
URL単位で Basic認証を設定するためには、パーマリンクが「カスタム構造」になっている必要があります。
(カスタム構造でなくても、「基本」の「http://example.com/?p=123」形式以外であれば問題ありません。)
新規のサイトを構築する場合は、あらかじめ Basic認証の設定を見越したパーマリンク設定が可能ですが、すでに運用中のサイトの場合は、URLが変わることは SEOの面から不利になりますので、注意が必要です。
今回は、パーマリンク設定として以下のように設定し
http://example.com /%category%/%postname%
以下のページに Basic認証を設定する前提で話を進めます。
http://example.com/cate_1/test_1
1.カテゴリフォルダの作成
Basic認証を設定するカテゴリの slug名のフォルダを作成します。
階層が深い場合は、URLに合うようドキュメントルートからの階層も合わせてフォルダを作成します。
Basic認証を設定する対象ページが下記の様にルート直下のページの場合はこの作業は必要ありません。
http://example.com/test_1
もちろん「2.index.php、.htaccessをコピー」「3.wp-blog-header.phpへのパスの変更」も不要です。
2.index.php、.htaccessをコピー
ドキュメントルートにある index.php、.htaccessの 2ファイルを「1.カテゴリフォルダの作成」で作成したフォルダにコピーして入れます。
3.wp-blog-header.phpへのパスの変更
「2.index.php、.htaccessをコピー」でコピーした index.phpに記述されている「wp-blog-header.php」へのパスを修正します。
1 2 3 |
修正前:require( dirname( __FILE__ ) . '/wp-blog-header.php' ); ↓ 修正後:require( '/home/example.com/public_html/wp-blog-header.php' ); |
修正後のファイルのパスは、実際の値は各自のサーバに合わせて変更しますが、サーバのルートから直接記述する形になります。
ドキュメントルートからのパスではありませんので注意してください。
「dirname( __FILE__ )」のように動的な指定をしたいところですが、なかなか難しい場合もありますので、ここでは「wp-blog-header.php」までのパスを直接指定する方法にしています。
4.Basic認証の設定をする
Basic認証を設定する .htpasswdファイルを作成し、Basic認証の設定を行います。
ファイル単位での Basic認証の設定方法の解説は「Basic認証をファイル単位・URL単位で設定する方法の解説」を参照してください。
特に解説は必要なく、Basic認証さえ設定できればいい、という場合は、.htaccess、.htpasswdに記述する内容を生成するツールを下記に用意していますので、こちらをお使いください。
http://s-giken.info/ht_maker/ht_maker.php
ファイル単位での Basic認証を設定できるツールはたぶんこのツールだけ。
で、実際に出力される設定の記述は以下のような内容になります。
1 2 3 4 5 6 7 |
<Files test_1> AuthUserFile /home/htdocs/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user </Files> |
これで、特定の URLに対して Basic認証を設定できるようになります。
この方法を利用すると、WordPressのログイン URLだけに Basic認証を設定する、ということもできるようになります。
Basic認証関連の記事まとめ
Basic認証関連の記事もいろいろと書いていますので、あわせて参考にしてみてください。
ロリポップで baserCMSを利用する際の Basic認証の設置には注意しましょう
WordPressのログイン画面 URLを変更する 管理画面に Basic認証を設定する
WordPressの管理画面ログインURLの変更方法解説
WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説
Basic認証をファイル単位・URL単位で設定する方法の解説
ロリポップでWordPress+Basic認証で不具合発生!回避方法解説
Basic認証の.htaccess、.htpasswd生成ツールと解説
WP Basic AuthなどWordPressにBasic認証を設定するプラグインのまとめ
WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法
WordPressで特定のURL、ページ、ファイル単位でBasic認証を設定する方法
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
AdminerはWordPressのデータベース管理プラグインの決定版!
データベース管理プラグインはAdminerがあれば他に必要ありません。なぜならDB管理ツールAdminerと同じものをプラグインとして提供しているからです。
-
WordPressのおすすめの確認画面付きお問い合わせフォームプラグイン・MW WP Form
MW WP Formは確認画面が付いているオススメのフォームプラグインです。企業サイトを CMSとして構築する際にも利用できる実力派です。
-
WordPressでダブルクォートなどの文字が自動変換?原因と対処方法
ダブルクォート、シングルクォート、HTMLタグなどが自動変換関数によって入力と違う形で表示されます。原因を2つの関数ごとに説明し、対応方法を3パターン提示します。
-
カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集
カスタムタクソノミーに属するターム(カテゴリ)の一覧を wp_list_categories()関数+ショートコードでウィジェットに編集するサンプルプログラムです。
-
BackWPupでバックアップ・Jobの設定・保存する情報の設定
BackWPupその2。Jobのバックアップの基本部分と対象の設定についての解説。
-
BackWPupでバックアップ・機能の基本設定 Settings
BackWPupその5。バックアップ設定のベースになるBackWPup自体の設定解説です。
-
Never Let Me Goで会員制サイトの退会機能を実装
会員制サイトで退会する機能を提供するプラグインの設定方法の解説。Theme My Loginなどの会員登録のプラグインと組み合わせて利用します。
-
BackWPupでWordPress以外のファイル、データベースをバックアップ
BackWPupその10。BackWPupはWordPressのバックアップ用のプラグインですが、WordPress以外のテーブルやファイルをバックアップする方法の解説です。
-
FC2からWordPressに引越しの際のデータ加工方法の解説
FC2からWordPressに引越しの際にデータを加工する必要がありますが、その加工方法の詳細を解説。秀丸の正規表現による置換を使い作業時間も軽減する方法や加工のポイントも解説。
-
技術ブログの悲劇。複数ブログをWordPressに引越して分かったこと
ブログによってユーザ層が違う。ユーザ層が違えば検索エンジンやブラウザ等が違うため、まずアクセス解析をやってみることが大事。一つの分析方法を紹介。