3

Apache では、500 エラーが発生するたびに 404 エラーを返したいと考えています。

非常に奇妙なユースケースだと思いますが、それが可能かどうか疑問に思っています。

私はこれを見つけました

http://www.4webhelp.net/tutorials/misc/errors.php

これにより、さまざまなエラーで何が起こるかを変更できると私は信じています。このようなものは素晴らしいでしょう

ErrorDocument 404 /cgi-bin/error404.cgi

ErrorDocument 500 /cgi-bin/error404.cgi

記事で示唆されているように、私のUbuntuインストールにはerror404.cgiがないようです。どこで入手できるか、または代替ソリューションはありますか?

4

2 に答える 2

1

これがあなたの質問に答えていないことはわかっていますが、本当にこれをやりたいと確信していますか? 500 エラーと 404 は、さまざまな目的で使用されることを意図した非常に異なるものです。実際にはアプリケーション/サーバーの一時的な問題である可能性が高いのに、ユーザーが持っている URL が間違っていることをユーザーに伝えています。一時的な問題があり、後で再試行する必要があることをユーザーに伝えるよりも、なぜこれを行うのでしょうか? 言い換えれば、カスタム 500 エラー ページを作成しない理由はありません。

于 2009-06-18T17:45:44.770 に答える
0

error404.cgi を作成する必要があります。/usr/lib/cgi-bin に移動し、error404.cgi という名前のファイルを作成します。これは、Perl (デフォルト) または Python が有効になっている場合は、どちらでも使用できます。Python も Perl もわからない場合は、次の基本的な Perl スクリプトを使用できます: (スクリプトは、私の Web サイト cwarren.uuuq.com/downloads/perl/404.pl からダウンロードできます

#!/usr/bin/perl
厳密に使用します。
print "<html>";
print "<head>";
print "<タイトル>404エラー!</タイトル>";
"</head>" を印刷します。
print "<body>";
print "<h1>リンク切れで申し訳ありませんが、このページはここにはありません!</h1>";
print "<br><br>";
print "<a href=\"javascript:history.go(-1)\">前のページに戻るにはここをクリックしてください</a>";
終了 (0);

別のオプションは、リンクを /var/www/404.html などに変更することです。

于 2009-06-18T17:40:42.843 に答える