以前、自宅サーバーでやっていたことをさくらインターネットでもやりたい。
ということで、さくらインターネットで403エラー及び404エラーのページを自由に作る方法を探してみました。

WEB


まず見つかったのがこちら。

さくらインターネット htaccess Options 使えない 代替方法 | ANNAI
これはエラー表示ではなく、ディレクトリにアクセスしたときにディレクトリ内のファイルが表示されてしまうことに対しての対策。
本来、「.htaccess」に「Options -Indexes」と書けば簡単に済むのだが、さくらインターネットでは「Options」が使えない。

解決策としては「さくらインターネット」にアクセスし
  1. サーバーコントロールパネルでファイルマネージャーをクリック。
    htaccess設定01
  2. 右上「ウェブアクセスの設定」をクリック。
    htaccess設定02
  3. 下の方「Indexファイル」の項目の「アクセスを拒否」するにチェック。「変更を送信」をクリック。
    htaccess設定03
とやるといいのだが、これをするとサーバーにアップされている「.htaccess」に以下の一文が追加される。
(アップされていない場合は新しく「.htaccess」が作られる。)
DirectoryIndex index.html index.htm .ht

これを踏まえた上で以下の記事を参考に。

小粋空間: 404 エラーページを作る

ErrorDocument 403 /error/error_403.html
ErrorDocument 404 /error/error_404.html
DirectoryIndex index.html index.htm .ht
と書かれた「.htaccess」を用意

さらに「error」 フォルダに「error_403.html」と「error_404.html」というHTMLファイルを用意する。

それぞれ 「error_403.html」がアクセス権のないファイルやディレクトリにアクセスした時のエラー表示。
「error_404.html」が存在しないディレクトリやファイルにアクセスした時のエラー表示になり、これは通常のHTMLファイルのようにデザインすることが可能。

次にそれぞれのファイル及びディレクトリ(フォルダ)をさくらサーバーの「www」フォルダ内にアップロード。
以下のように配置されていればOK。

www ┬ .htaccess
    └ error ┬ error_403.html
            └ errot_404.html 
以上。

以下、.htaccessのちょっと詳しい解説。
ErrorDocument 403 /error/error_403.html
403エラーの時に「error_403.html」を開くように指定している。
「ErrorDocument」は.htaccessに書くことのできる命令の一つ。
ErrorDocument 404 /error/error_404.html
同上。
401エラー(パスワード認証に失敗したとき)や500エラー(サーバーエラー)のときも同様に指定できる。
DirectoryIndex index.html index.htm .ht
「DirectoryIndex」でディレクトリにアクセスしたときに開くファイルを指定できる。
上記の場合「index.html」を探してなければ「index.htm」を探し最後に「.ht」を表示させるということになる。