エス技研

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


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」へのパスを修正します。
 

 
修正後のファイルのパスは、実際の値は各自のサーバに合わせて変更しますが、サーバのルートから直接記述する形になります。
ドキュメントルートからのパスではありませんので注意してください。
 
「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認証を設定できるツールはたぶんこのツールだけ。
 
で、実際に出力される設定の記述は以下のような内容になります。
 

 
 
これで、特定の 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.

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

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

  関連記事

WordPressのサイドバー(サイドナビ)はウィジェットで編集

サイドバー(サイドナビ)を編集するウィジェットの利用方法の解説です。カテゴリ一覧、アーカイブ、リンク集などを設定する方法を解説しています。

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

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

技術ブログの悲劇。複数ブログをWordPressに引越して分かったこと

ブログによってユーザ層が違う。ユーザ層が違えば検索エンジンやブラウザ等が違うため、まずアクセス解析をやってみることが大事。一つの分析方法を紹介。

WordPressで WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった

WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった。これは「wp_footer」の設定に問題があるからだった。

WordPress プラグインのアップデート失敗でデータが消える事態が!

プラグインのアップデート失敗でデータが消失。不具合が起こる原因はあちこちにありますので常に慎重にバックアップをしましょう。

BackWPupでバックアップ・データベース保存の自動設定例

BackWPupその8。DBを毎日1回バックアップする具体的事例での説明です。

WordPress 画面が真っ白になる対応の一つ デバッグモード

WordPressで画面が真っ白になる不具合があった場合などのために用意されているデバッグモードの解説です。

WordPressグローバルナビ・メニューの編集の方法解説

グローバルナビであるメニューの編集方法の解説です。メニューの管理画面の使い方の解説と設定のポイント、テーマによって設定する項目が違う点などを解説します。

PoeditでWordPressの日本語対応方法。英語プラグインの日本語翻訳ファイル作成

プラグインの日本語化の手順のまとめ。.pot、.po、.moファイルの解説や便利ツールの Poeditの紹介を行いつつ、手順、ファイル設置場所、注意ポイントなども紹介。

AdminerはWordPressのデータベース管理プラグインの決定版!

データベース管理プラグインはAdminerがあれば他に必要ありません。なぜならDB管理ツールAdminerと同じものをプラグインとして提供しているからです。