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

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

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

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

便利な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認証を解除する方法の紹介でした!

Facebookアカウントでコメント

※本コメント機能はFacebookによって提供されており、この機能によって生じた損害に対してザ サイベースは一切の責任を負いません。

ABOUTこの記事を書いた人

とみっち

埼玉でザ サイベースを主催しています。Webクリエイター。フリーランス歴7年。飄々と生きています。これでも育児頑張ってます。長野市出身。 @tomicci 詳しいプロフィール【興味】ギター/DTM/Web/車/田舎/旅/酒/育児 自然の音からデスメタルまで聴きます。【運営サイト】 ザ サイベース おと風景