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」へのパスを修正します。
修正前: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認証を設定できるツールはたぶんこのツールだけ。
で、実際に出力される設定の記述は以下のような内容になります。
<Files test_1> AuthUserFile /home/htdocs/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user </Files>
これで、特定の URLに対して Basic認証を設定できるようになります。
この方法を利用すると、WordPressのログイン URLだけに Basic認証を設定する、ということもできるようになります。
[amazonjs asin=”4798130931″ locale=”JP” title=”一歩先にいくWordPressのカスタマイズがわかる本”]
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認証を設定する方法
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
SMTP Mailerでスパム判定回避。WP Mail SMTPで発生する送信エラーも対応
WordPressからのメールをスパム判定されずに送信する「SMTP Mailer」の解説。SMTP MailerはPHP 5.6、7.0になってもSMTP接続でエラーにならない設定を搭載しているのが特徴。
-
-
Better Delete Revisionを使って WordPressのリビジョンを削除する方法
自動的に溜まるリビジョンは Better Delete Revisionを使うことで簡単に削除することが出来ます。表示の重さを軽減したり、バックアップファイルのスリム化に貢献します。
-
-
技術ブログの悲劇。複数ブログをWordPressに引越して分かったこと
ブログによってユーザ層が違う。ユーザ層が違えば検索エンジンやブラウザ等が違うため、まずアクセス解析をやってみることが大事。一つの分析方法を紹介。
-
-
highlight.jsの設定方法を解説。 Syntax Highlighterから乗換え、高速化にも最適
Crayon Syntax Highlighterの代替案としてhighlight.jsを試してみた。highlight.jsは設置簡単で軽量なシンタックスハイライト。デザインもCSS変更だけの簡単変更。
-
-
Advanced Custom Fields(ACF)のアドオン・ギャラリーの使い方解説
Advanced Custom Fieldsのアドオン・ギャラリーの解説記事。複数の画像を入力できる優れもので、画像のサイズ、容量などでの制限ができ、より厳密な管理が可能。
-
-
Custom Post Type UIでカスタム投稿を設定し編集する方法解説
カスタム投稿を追加、管理するプラグインCustom Post Type UIの使い方の解説です。プラグインの解説ではあるものの、カスタム投稿の仕様の解説でもあります。
-
-
ロリポップでWordPress+Basic認証で不具合発生!回避方法解説
ロリポップサーバでWordPressを使いBasic認証を設定する際には注意しないとWordPressが動かなくなる場合も!その回避方法を解説します。
-
-
プラグインが原因で起動しないWordPressを復旧させる方法解説
プラグインが原因で WordPressが起動できなくなった、ログインできなくなった場合の対処方法の解説です。
-
-
Author hReviewでWordPressに構造化されたレビューサイトを構築
レビューサイトを構築するためのプラグイン。レビューの入力とレビュー対象のアイテムの情報を構造化データにするHTMLを編集する機能を提供します。
-
-
BizVektor環境の引越しでメニュー、バナーが消える不具合の対応方法解説
BizVektor環境の引越し方法と不具合が発生しやすい箇所の解説です。引っ越し作業をする際にURLやファイルのパスを置換する際の手順解説と対応方法についての解説です。