Basic認証で特定のディレクトリのファイルだけ認証を除外したい

結論を言うと、下記です。

対象ファイルがあるディレクトリで .htaccess に記述します。

 

条件

上位のディレクトリでbasic認証が設定済み。

data.json というファイルはbasic認証から除外したい。

 

ファイル

.htaccess

 

記述内容

<FilesMatch "^(data\.json)$">
Satisfy Any
Order allow,deny
Allow from all
Deny from none
</FilesMatch>

 

参考URL

sakidesign.com

 

 

その他参考URL

 

こちらのほうが一箇所に書けるので実際に運用するならこちらのほうが良さそう?(未検証)

scientre.hateblo.jp

こんな感じらしい(未検証・丸ごとコピー)

特定の URL のみ Basic 認証を除外する

## Allow と Require のいずれかの許可があればアクセス可能にする
Satisfy Any

## /images/ で始まる URL へのアクセスを常に許可する
SetEnvIf REQUEST_URI "^/images/" allowed_url
Order deny,allow
Deny from all
Allow from env=allowed_url

## それ以外の URL は Basic 認証を通過すればアクセスできる
AuthUserFile "/path/to/.htpasswd"
AuthGroupFile /dev/null
AuthName "Restricted Files"
AuthType Basic
require valid-user

 

 

 

 

 

 

 

ディレクトリ丸ごと除外するなら下記だけど、あまり使う機会は無さそう。

www.yunosuke.net