.htaccessで特定のファイルやディレクトリのみBASIC認証を解除する

開発環境や、限定公開にしたいサイトやページなどにパスワードを使用したアクセス制限をかけるBASIC認証はかなり便利ですよね。

.htaccess」ファイルと「htpasswd」ファイルを使用することで、簡単に制限をかけることが可能です。

僕はいつもこのサイトを使って、オンラインで作成しています↓

便利なBASIC認証ですが、特定のファイルやディレクトリにだけ、パスワード制限をかけてたくない場合ってありますよね。

そんな時は、「.htaccess」に以下のように書いて、認証を解除したいフォルダに設置します。

[text]Satisfy any
order allow,deny
allow from all[/text] 特定のファイルを指定する場合は、
[text]<Files "example.html">
Satisfy any
order allow,deny
allow from all
</Files>[/text] のように書きます。

特定の拡張子を指定する場合はこんな感じです。
[text]<FilesMatch "\.(gif|jpe?g|png)$">[/text]※ファイル名などで正規表現を使う場合には、FilesよりもFilesMatchを使用することが推奨されているようです。

ファイル名ではなく、ディレクトリの場合はこんなふうに書けます。
[text]<FilesMatch "\/?example">
Satisfy any
order allow,deny
allow from all
</FilesMatch>[/text] ※exampleディレクトリ内のBASIC認証を解除。

なお、「DirectoryMatch」とかは、Apacheのconfファイルに書くものであって、.htaccessには記述できないみたいなので注意が必要です。

以上、特定のファイルやフォルダでBASIC認証を解除する方法の紹介でした!

ABOUTこの記事を書いた人

とみっち

5年ほど前までバンド活動してました。現在はブログを運営して暮らしています。サウンドクリエイター、webクリエイター。息子は4歳になりました。長野市出身。埼玉県本庄市在住。 【興味】音/Web/車(GolfV GTI等)/田舎/旅/酒 ※自然の音からデスメタルまで聴きます。 @tomicci 詳しいプロフィール 【主な運営サイト】 ザ・サイベース おと風景