Basic認証を使用してアクセス制限をかける時に特定のファイルのみにアクセス制限を設定したい場合があります。
ディレクトリごとBasic認証をかける場合は「.htaccess」をアクセス制限をかけるディレクトリに設置すればいいのですが、
ディレクトリ内の全てのファイルが対象となってしまいます。
ディレクトリ内の一部のファイルのみにアクセス制限を設定したい場合は、下記のように記述します。
■ Basic認証を特定のファイルのみに設定
※下記「test.php」ファイルにBasic認証を設定する場合
【ディレクトリ内のファイル一覧】
.htaccess .htpasswd index.php hoge.php test.php
【.htaccess】
「Files」で「test.php」を指定すれば、「test.php」にBasic認証かけることができます。
<Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /home/hoge/html/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic order deny,allow <Files test.php> require valid-user </Files>
複数ファイルを指定したい場合は下記のように記述します。
<Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /home/hoge/html/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic order deny,allow <Files ~ (hoge.php|test.php)> require valid-user </Files>
「*」を使用してワイルドカードで指定することも可能です。
一部のファイルだけアクセス認証(Basic認証)をかけたい場合に良いと思います。
ピンバック: WordPress:WordPressのログイン画面にBasic認証を設定する | raining
ピンバック: htpasswd でファイルを作成して Basic 認証をかける | deadwood