開発環境や、限定公開にしたいサイトやページなどにパスワードを使用したアクセス制限をかけるBASIC認証はかなり便利ですよね。
「.htaccess」ファイルと「htpasswd」ファイルを使用することで、簡単に制限をかけることが可能です。
僕はいつもこのサイトを使って、オンラインで作成しています↓
http://www.htaccesseditor.com/#a_basic
便利なBASIC認証ですが、特定のファイルやディレクトリにだけ、パスワード制限をかけてたくない場合ってありますよね。
そんな時は、「.htaccess」に以下のように書いて、認証を解除したいフォルダに設置します。
Satisfy any
order allow,deny
allow from all
特定のファイルを指定する場合は、
<Files "example.html">
Satisfy any
order allow,deny
allow from all
</Files>
のように書きます。
特定の拡張子を指定する場合はこんな感じです。
<FilesMatch "\.(gif|jpe?g|png)$">
※ファイル名などで正規表現を使う場合には、FilesよりもFilesMatchを使用することが推奨されているようです。
ファイル名ではなく、ディレクトリの場合はこんなふうに書けます。
<FilesMatch "\/?example">
Satisfy any
order allow,deny
allow from all
</FilesMatch>
※exampleディレクトリ内のBASIC認証を解除。
なお、「DirectoryMatch」とかは、Apacheのconfファイルに書くものであって、.htaccessには記述できないみたいなので注意が必要です。
以上、特定のファイルやフォルダでBASIC認証を解除する方法の紹介でした!