エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法

      2017/03/11

カテゴリ単位・フォルダ単位でBasic認証を設定

 

カテゴリ単位・フォルダ単位でBasic認証を設定する方法解説

 
WordPressのカテゴリ単位やフォルダ単位で Basic認証を設定する方法を解説します。
 
WordPressの場合は、カテゴリやアーカイブページは「mod rewrite」によって URLを疑似的に構成されているにすぎません。
実際にはカテゴリとなるフォルダがあるわけではないため、その存在しないフォルダに Basic認証を設定できない、と思いがちです。
 
ですが、実は Basic認証を設定することができるのです。
 
具体的な手順は以下の通りです。
 
 

1.カテゴリフォルダの作成

Basic認証を設定するカテゴリの slug名のフォルダを作成します。
階層が深い場合は、URLに合うようドキュメントルートからの階層も合わせてフォルダを作成します。
 
 

2.index.php、.htaccessをコピー

ドキュメントルートにある index.php、.htaccessの 2ファイルを「1.カテゴリフォルダの作成」で作成したフォルダにコピーして入れます。
 
 

3.wp-blog-header.phpへのパスの変更

「2.index.php、.htaccessをコピー」でコピーした index.phpに記述されている「wp-blog-header.php」へのパスを修正します。
 

 
修正後のファイルのパスは、実際の値は各自のサーバに合わせて変更しますが、サーバのルートから直接記述する形になります。
ドキュメントルートからのパスではありませんので注意してください。
 
「dirname( __FILE__ )」のように動的な指定をしたいところですが、なかなか難しい場合もありますので、ここでは「wp-blog-header.php」までのパスを直接指定する方法にしています。
 
 

4.Basic認証の設定をする

 
.htaccess、.htpasswdファイルに、それぞれ Basic認証に必要な記述を追記します。
 
Basic認証の設定は、.htaccess、.htpasswdに記述する内容を生成するツールを下記に用意していますので、こちらをお使いください。
 http://s-giken.info/ht_maker/ht_maker.php
 
 
これだけで、カテゴリ単位・フォルダ単位でBasic認証を設定するすることができます。
想定のカテゴリにアクセスし、Basic認証のログイン画面が表示されるかどうかを確認しましょう。
 
 


 

サブドメインでリダイレクトループが発生する場合の対処方法

 
Basic認証を設定する環境がサブドメインを設定して構築してある場合、リダイレクトループが発生する場合があります。
 
これは、特定のディレクトリにある .htaccessで URLをリライトする場合や、特定のディレクトリから親ディレクトリの WordPressを呼び出そうとする場合などに発生するようです。
 
これに対処する方法としては、functions.phpファイルに以下の 1行を追記することで対処することができます。
 

 
functions.phpについては、「WordPressの functions.phpがある場所」を参照してください。
 
 
「/wp-includes/template-loader.php」ファイルの「do_action(‘template_redirect’);」をコメントアウトする方法を紹介しているサイトもありましたが、コアに手を入れるのは避けるべきですね。
 
 
ちなみに、リダイレクトループにはさまざまな要因があり、解決方法も多岐にわたります。
それらの原因と解決方法をまとめた記事を「リダイレクトループが原因で「ERR_TOO_MANY_REDIRECTS」「このページを表示できません」が出たときの対策12事例+α」に書いていますので、そのほかでリダイレクトループが発生した時は参考にしてみてください。
 
 

カテゴリ単位に Basic認証を設定する際の注意点

 
ここで解説したカテゴリ単位で Basic認証を設定する方法ですが、当然のことですが、記事もカテゴリ単位でパーマリンク設定されていなければ設定することができません。
 
つまりは、パーマリンク設定画面で、パーマリンクは「カスタム構造」にする必要があり、下記の様に記事はカテゴリ名の下に付ける必要がある。
 
  http://example.com /%category%/%postname%
 
 
新規でサイトを構築する場合は問題ありませんが、上記のようなパーマリンク設定をしていないサイトの場合は Basic認証を設定する必要があるかどうかは検討が必要ですね。
パーマリンク設定を変更する必要がありますので、URLが変わり SEOの面から集客力に影響が出るためです。
 
 
まぁ、そもそも Basic認証を設定するページは検索エンジンにヒットしませんので、気にする必要はない、という判断ができるのであれば問題ありませんが。
 
 
また、WordPressには会員認証機能が標準でありますので、会員サイトを構築する場合には Basic認証ではなく、WordPressの会員管理機能を利用することを検討する方がいいでしょう。
会員管理プラグインの一つとして「Theme My Login」については「Theme My Loginでメール認証、管理者承認付の会員管理・基本編」に記事を書いていますので、参考にしてみてください。
 
 

公開側と管理側の URLを別のドメインにする方法

 
今回ここで紹介した機能と同じような仕組みを利用して設定する機能といて、公開側の URLと管理側の URLを別のドメイン、サブドメインとして設定する方法があります。
 
セキュリティ面から有利な仕組みですが、詳細は下記に記事を書いていますので参考にしてください。
  WordPressの管理画面と公開画面を別のドメインに分離して運用する方法
 
 

特定の URL、ページに Basic認証を設定する方法

 
今回紹介した内容とほぼ同じですが、特定の 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認証を設定する方法

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

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

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

BackWPupでバックアップ・Jobの設定・保存する情報の設定

BackWPupその2。Jobのバックアップの基本部分と対象の設定についての解説。

Broken Link Checkerのリンク生死チェックでサイトの品質向上!SEO対策!

Broken Link Checkerは記事内のリンクのリンク切れチェックをし自動的にリンク切れの対処をします。リンク切れは一覧表示されますので手動での処置も可能です。

タクソノミーの一覧をショートコードで編集・ソート機能付き・wp_list_categories

カスタムタクソノミーのターム一覧をショートコードで編集する方法の解説です。Category Order and Taxonomy Terms Orderを利用してソート機能を追加したバージョンです。

WordPressの投稿プレビューのURLを変更する方法

プレビューを表示する際のURLを変更する方法の解説。「サイトアドレス (URL)」に基づいて編集されるURLを任意のURLに変更する場合の方法とその解説を行います。

WordPressは危険?最新バージョンにアップデートして利用しよう

WordPress最新バージョン使ってますか?WordPressのバージョンアップをしないリスクを説明し、バージョンアップの手順、バックアップの重要性を解説しています。

WordPressのメディアの設定解説・uploadsフォルダの変更方法

メディアの設定に関する解説。管理画面から変更できなくなったuploadsフォルダの変更方法についても解説。

WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法

WordPressのカテゴリやタクソノミーに編集する項目を追加する方法の解説。Advanced Custom Fieldsを使うと簡単。テンプレートに記述する方法も解説。

WordPressのユーザ名を後から変更する方法。adminの使用は危険。

運用中のユーザ名を変更する方法を解説。かつてのデフォルト設定だった「admin」は誰もが使うIDのため非常に危険です。今からでも変更しましょう。

Category OrderでWordPressのカテゴリを並替えよう

Category Orderは基本機能では並び替えができないカテゴリを並び替える機能を提供するプラグインです。ドラッグ&ドロップで並び替えができる簡単インターフェイスです。

WP-PostRatingsでWordPressに自由度が高い口コミサイトを構築

口コミの評価点を投稿する機能に特化したプラグインで、多様なイメージと投稿方法が用意されていてサイトにあったイメージを選択できます。