3

在 apache 中,每当我收到 500 错误时,我想返回 404 错误。

我知道,这是一个非常奇怪的用例,但我想知道它是否可能。

我找到了这个

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

这让我相信你可以改变发生在不同错误上的事情。这样的事情会很棒

错误文档 404 /cgi-bin/error404.cgi

错误文档 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 脚本,它应该适合您:(您可以从我的网站 cwarren.uuuq.com/downloads/perl/404.pl 下载该脚本

#!/usr/bin/perl
使用严格;
打印“<html>”;
打印“<头>”;
打印“<title>404 错误!</title>”;
打印“</head>”;
打印“<正文>”;
print "<h1>抱歉链接失效了,但是这个页面不在这里!</h1>";
打印“<br><br>”;
print "<a href=\"javascript:history.go(-1)\">点击这里返回上一页。</a>";
退出(0);

另一种选择是将链接更改为 /var/www/404.html 或其他内容。

于 2009-06-18T17:40:42.843 回答