wordpressでカテゴリ(ディレクトリ)ごとにBASIC認証をかけるやり方【初心者用】
|wordpressであるカテゴリ、ディレクトリのみにBASIC認証をかけたい。特定のフォルダだけ認証かけたい!
はい。普通に簡単にカテゴリ(ディレクトリ)ごとにBASIC認証かけられます。
ボクにとっては「まさかそんなやり方があったとは、、、!」でしたが。。。
「wordpressって確かフォルダ作られなかったよな~。フォルダなしでどうやってカテゴリ単位でBASIC認証かけるんだろう?まぁでも何か便利なプラグインとかあるだろ。まぁ、出来ないわけないだろう。」
と最初簡単に考えていたら、プラグインやらfunctions.phpやら何をいじってもうまくいかず、、、
、、、、まじで困ったな~と思っていたら、こんな記事を見つけました。
こちらです。
まじ、びっくり!
そもそもWP以下では勝手にフォルダも切れなくなると思い込んでいた。
引用もこちら:WordPressの特定カテゴリでBasic認証を使う方法
はい。ボクもそう思い込んでいました。。。
まさかこんなやり方があるなんて、、、。
ということで実際上手くいきました!ので、wordpress初心者の方向け&自分用メモに詳しい設定のやり方をこちらに。
—————————————————-
www.〇〇〇〇〇.com・・・・・・・認証なし
www.〇〇〇〇〇.com/iPhone・・・・認証なし
www.〇〇〇〇〇.com/Android・・・認証なし
www.〇〇〇〇〇.com/test・・・・・認証あり!!
www.〇〇〇〇〇.com/test/page1・・認証あり!!
www.〇〇〇〇〇.com/test/page2・・認証あり!!
にしたい場合、
wordpressを専用ディレクトリに配置した場合こうなるわけですが、
/wp(wordpressインストールフォルダ) .htaccess index.php
はい。サーバをのぞいてみても「wp」の中を見ても、
当然「iPhone」や「test」なんてフォルダは一切見当たりません。
無いものは?作ってしまいましょう!
ということでこうします。
ドメイン直下に「test」フォルダを作ります。
/wp(wordpressインストールフォルダ) test .htaccess index.php
で、ドメイン直下にある「.htaccess」と「index.php」をコピーして「test」フォルダ内に置きます。
んで、「test」フォルダ内にコピーしたindex.phpをちょいといじります。何をするかというとwp-blog-header.phpへのパスを書き換えます。
「wp」というフォルダにwordpressをインストールした場合、index.phpの最後の行にこう書かれているはずですが、
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
このままだと自分のフォルダ内を見に行くので「ファイルが見つからないよ~」というエラーが帰ってきます。
なので、
require( dirname( __FILE__ ) . '/../wp/wp-blog-header.php' );
こうします。
下のコードに変更することで「wp」内のwp-blog-header.phpを見に行くわけですね~。
参考:wordpress設置ディレクトリとアクセスされるディレクトリを別々にする方法
そしてあとは、「.htaccess」にBASIC認証の命令を書いて、同フォルダ内に「.htpasswd」を入れてあげれば出来上がりです!
いや~、最初に紹介したブログに出会うまでかなり苦労しましたが、やってみると簡単です。
ということで、これでwordpressにも自由にフォルダ単位、カテゴリ単位でBASIC認証がかけられます。
便利ですね!!