.htaccessを使用して指定するディレクトリごとにベーシック認証のID・パスワードを設定する
.htaccessを使用してベーシック認証を設定する場合、設定したいページ(ディレクトリ)毎にファイルを設置すれば良いのだけれど、パラメータから生成した仮想ディレクトリの場合に設置が難しいことと、多くなりすぎると管理がしずらくなるため一元化した時の実装方法をメモ .htaccess Authtype Basic AuthGroupFile /dev/null <If "%{REQUEST_URI} =~ m#^/○○○○/△△△△/dir1/#"> AuthUserFile /○○○○/.htpasswd_user1 //フルパス AuthName "Please enter your ID and password" Require valid-user </If> <If "%{REQUEST_URI} =~ m#^/○○○○/△△△△/dir2/#"> AuthUserFile /○○○○/.htpasswd_user2 //フルパス AuthName "Please enter your ID and password" Require valid-user </If> パスワード用のファイル(.htpasswd_user1、.htpasswd_user2)をそれぞれ用意し、全てのファイルをホームページディレクトリの直下に設置。「IF」を使用してディレクトリごとに設定を切り分けています。 尚、パスワードを1種類にして流用する場合は「SetEnvIf」を使用して、対象ディレクトリのみに制限をかけることも可能。 .htaccess Satisfy Any AuthType Basic AuthUserFile /○○○○/.htpasswd //フルパス AuthName "Please enter your ID and password" AuthGroupFile /dev/null SetEnvIf Request_URI "^/○○○○/△△△△/dir1/" auth_dir1 SetEnvIf Request_URI "^/○○○○/△△△△/dir2/" auth_dir1 Require valid-user Order Allow,Deny Allow from all Deny from env=auth_dir1 また、ファイル単位で指定したい場合は下記。 .htaccess <Files △△△△.php> AuthUserFile /○○○○/.htpasswd //フルパス AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user </Files> ワードプレスの管理画面のみにベーシック認証を設定したい場合はファイル名に「wp-login.php」を指定します。