自分で用意した「File Not Found」を表示させるには?

[上に] [前に] [次に]
エリス 1999/06/22(火) 06:42:23
質問よろしくお願いします。

指定したファイルが見つからない時に表示される「File Not Found」の
ページを、自分で作成した物に変えることって出来ますか?
サーバーはApacheで、レンタルサーバーです。

ワイ(仮) 1999/06/22(火) 10:26:01
.htaccessの中に

ErrorDocument 404 /error/404.html

と言った感じで書きこむといいと思います。(ファイル名は仮想パス。とほほのSSI入門参照)
但し、そのHTMLファイルからさらにCSSファイルや画像ファイルなんかを参照している場合、HTML内に記入されたファイル名部分も仮想パスで書く必要があります。多分。

エリス 1999/06/22(火) 14:08:51
レスありがとうございます。
早速試してみた所、無事表示されました。

「Forbidden」、「Server Error」等もこんな感じで出来るんでしょうか?

ワイ(仮) 1999/06/22(火) 16:41:42
できます。
まず、そのエラーに対応する三桁のエラーコードを調べます。
ちなみに、Forbiddenは403、Internal Server Errorは500です。
あとは先ほどの「404」をその数字に、ファイル名をそのエラーに対応したものに変えたものを.htaccessに追記してやればいいはずです。

MAC [E-Mail] 1999/06/22(火) 18:26:57
便乗です。NT(IIS)ではどうすればいいか分かる方はいますでしょうか?

B-Cus 1999/06/23(水) 00:23:00
できます。403/500。

B-Cus 1999/06/23(水) 00:26:41
あ、もう答えはでてたのね(^^; キャッシュに残った古いデータを見てた。

ちなみに全部同じCGIを指定して、CGI側で $ENV{"REDIRECT_STATUS"}を
見ながらメッセージをわけるのが僕の好み。

まるち 1999/06/23(水) 05:39:31
すいません。

403 Forbidden
404 File Not Found

の2つは出来たんですが
ためしにCGIのパーミッションを755から644に変えてテストしてみた所
500 Server Error はなぜか駄目です。(変更されない)

この場合、管理者側がそういう設定していると
考えて良いんでしょうか?

B-Cus 1999/06/23(水) 05:46:45
パーミッションを644にすると、500になったっけ?

例えば
 #!/usr/local/bin/perl
 {
というスクリプトならどうなりますか? これは
 Missing right bracket at a line 1, at end of line
 syntax error at a line 1, at EOF
 Execution of a aborted due to compilation errors.
というエラーになって500になるはずですが。

まるち 1999/06/23(水) 06:33:56
あれ、出来ました。

CGIファイルのパーミッションを644にして実行すると
サーバーエラーメッセージから、500と出るみたいなんですがなぜ?(^^;

なんともあれ、どうもありがとうございます。

[上に] [前に] [次に]