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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
Export to Textで WordPressを csv出力
WordPressのデータを csv出力する Export to Textの使い方を解説しています。
-
-
シンタックスハイライトの5システム比較のまとめ・WordPressでも使える
シンタックスハイライト5種の比較検討のまとめ記事。WordPressで使う目的だがプラグインの比較検討ではないのでどのサイトでも導入可能。
-
-
Autoptimizeで簡単設定!HTML、JS、cssを圧縮しWordPress高速化!
Autoptimizeを使って簡単にHTML、JavaScript、CSSを圧縮しサイトの表示を高速化しよう!基本設定、拡張設定とあり柔軟な設定で多彩な環境に対応出来ます。
-
-
Theme My Loginの日本語翻訳ファイル Ver.6.4.5対応
Theme My Loginの日本語翻訳ファイルのダウンロードページ。WordPressの翻訳ファイルの設置方法、注意点、翻訳ファイルの作成方法なども解説。
-
-
XAMPPのWordPressの更新でFatal error: Maximum execution time of 30 seconds exceededのエラーが発生して失敗する場合の対処方法
XAMPP環境のWordPressアップデート時に「Maximum execution time of 30 seconds exceeded」のエラーが出る。「max_execution_time」を変更して解決する方法の解説。
-
-
BJ Lazy LoadでWordPressを高速化!SEO効果絶大でPVもアップ!
Lazy Load系の処理を使い画像だけでなくiframe等表示スピードに影響があるものを総合的に対策。入れるだけで高速化するので使わない手はない!
-
-
WordPressの投稿プレビューのURLを変更する方法
プレビューを表示する際のURLを変更する方法の解説。「サイトアドレス (URL)」に基づいて編集されるURLを任意のURLに変更する場合の方法とその解説を行います。
-
-
WordPress データベースを管理するための強い味方のプラグイン WP-DBMANAGER
データベースを管理するための強い見方のプラグイン「WP-DBMANAGER」の使い方の説明です。
-
-
WP-PostRatingsでWordPressに自由度が高い口コミサイトを構築
口コミの評価点を投稿する機能に特化したプラグインで、多様なイメージと投稿方法が用意されていてサイトにあったイメージを選択できます。
-
-
FC2からWordPressに引越でcanonicalとmeta refreshで転送設定
FC2からWordPressに引越する際の転送設定はcanonicalとmeta refreshの設定でユーザへもGoogle検索エンジンにも引越し情報を伝えられます。