.htaccess:Basic認証を特定のファイルに設定

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認証)をかけたい場合に良いと思います。

  • このエントリーをはてなブックマークに追加

.htaccess:Basic認証を特定のファイルに設定” への2件のコメント

  1. ピンバック: WordPress:WordPressのログイン画面にBasic認証を設定する | raining

  2. ピンバック: htpasswd でファイルを作成して Basic 認証をかける | deadwood

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です