.htaccessで一部のファイルのみbasic認証をかける

はてなブックマーク - .htaccessで一部のファイルのみbasic認証をかける
このエントリーをはてなブックマークに追加
Share on Facebook

いつもは自宅サーバで色々作っているんだけど、今回、レンタルサーバでシステムを構築をすることになったので、.htaccessを使って認証とかしてみた。

あと、今はティザーというか公開前の予告ページを公開しているので、index.htmlだけは認証を外して、その他のファイルには認証をかけた。その設定の話。

まず、ドキュメントルートにある予告ページがシステム構築の際に邪魔なので、フォルダを生成してその中に突っ込む。

んで、http://ドメイン名/かhttp://ドメイン名/index.htmlでアクセスしてきたときだけそこのフォルダのindex.htmlを読ませる。
その部分の.htaccessはこんな感じ

RewriteEngine on
RewriteBase ドキュメントルートへの絶対パス
RewriteRule ^$ /作成したフォルダ/index.html [L]
RewriteRule ^index\.html$ /作成したフォルダ/index.html [L]

それからbasic認証のための設定を記載。

AuthUserFile .htpasswdファイルまでの絶対パス/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
AuthName "Enter Password."

そして、今回は公開予告ページ以外はphpでできていたので、phpファイルすべてに認証をかけることで解決。

<Files *.php>
require valid-user
</Files>

こうしたら、公開予告前のページだけbasic認証なしでアクセスでき、開発中の部分へアクセスした場合のみ認証がされるようになった。

こうすれば、ドキュメントルートのindex.phpをTOPページとして開発を行い、
リリースの時は、.htaccessのRewriteRuleとbasic認証の部分をコメントにするだけで本番反映できる優れモノ。

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">