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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
P3(Plugin Performance Profiler)で負荷が高いプラグインを調査し表示スピードアップ!
まずは正確に現状把握を!P3(Plugin Performance Profiler)を使ってプラグインの処理時間を確認!簡単操作で対応すべきプラグインが一目瞭然になります!
-
-
WordPressのウィジェットでショートコードを使う方法add_filter
WordPressのウィジェットでショートコードを利用するには add_filter、do_shortcodeの関数を利用する必要があります。
-
-
XAMPPのWordPressの更新でFatal error: Maximum execution time of 30 seconds exceededのエラーが発生して失敗する場合の対処方法
XAMPP環境のWordPressアップデート時に「Maximum execution time of 30 seconds exceeded」のエラーが出る。「max_execution_time」を変更して解決する方法の解説。
-
-
FC2からWordPressに引越でcanonicalとmeta refreshで転送設定
FC2からWordPressに引越する際の転送設定はcanonicalとmeta refreshの設定でユーザへもGoogle検索エンジンにも引越し情報を伝えられます。
-
-
PoeditでWordPressの日本語対応方法。英語プラグインの日本語翻訳ファイル作成
プラグインの日本語化の手順のまとめ。.pot、.po、.moファイルの解説や便利ツールの Poeditの紹介を行いつつ、手順、ファイル設置場所、注意ポイントなども紹介。
-
-
WordPress管理画面のメニューに項目を追加する方法解説
WordPressの管理画面のメニューに項目を追加する方法をサンプルソースを交えて解説します。
-
-
SyntaxHighlighterの設定、カスタマイズ方法を解説。Crayonから乗換え、高速化にも最適
SyntaxHighlighter 3の設置方法、各機能の設定方法、オプション、デフォルト設定の変更方法を解説。Crayonから乗り替えるならこれしかない。
-
-
自サイト内のリンクをショートコードで指定する・アンカーリンク対応版
自サイト内の記事にショートコードで自動リンクを設定する関数のソースコードを提供。Post ID、slugで指定でき、アンカーリンクを設定する場合も対応。
-
-
WordPressのテーマ管理方法とテーマのHTML編集のポイント解説
テーマ変更で無限の可能性!テーマの選び方と設定方法、デザイン修正のためのHTML修正のポイントを解説。
-
-
BackWPupでバックアップ・エラー発生の具体的対処方法事例6
BackWPupその6。エラーが起こったときの対処方法の具体例紹介です。