Apacheのエラーページを変更する

ページが見つからなかったときや、権限のないページを開こうとしたとき表示されるApache独自のエラーページを変更する。

今回は、Basic認証のエラーページを変更してみる。

以下のURLに対して認証設定を行う
URL  http://localhost/test

httpd.confに以下の行を追加
<Directory "C:/soft/Apache Group/Apache2/htdocs/test">
    ErrorDocument 401 /test/autherr.html
    AuthUserFile "C:/soft/Apache Group/Apache2/htdocs/test/userlist
    AuthGroupFile /dev/null
    AuthName "Please Enter Your Password"
    AuthType Basic
    Require valid-user
</Directory>

◇ 「
ErrorDocument」ディレクティブで指定したエラーの時、
  どのページを表示するか設定
  以下の順序で記述
  
  ErrorDocument エラーコード エラーページのパス

  今回使用するエラーページは上記、/test/autherr.html
  このファイルは次のディレクトリに設置している
  
C:/soft/Apache Group/Apache2/htdocs/test/autherr.html

◇その後はBasic認証の設定

AuthUserFileにはhtpasswdコマンドで作成した
ユーザとパスワードの記述されたファイルを指定する

htpasswdコマンドは、Windowsの場合以下のディレクトリにある
C:/soft/Apache Group/Apache2/bin/htpasswd.exe

新しくパスワードファイル(userlist)を作成し、ユーザ「testuser」を作成
> htpasswd -c userlist testuser
この後パスワードも入力する

以上の処理が完了したらApacheを起動(または再起動)して、以下のURLにアクセスしてみる。

http://localhost/test

認証をキャンセルすると、autherr.htmlの内容が表示される