On Thu, 16 May 2002, Jonathan M. Hollin wrote: > Is it possible to force a 404-error from within a mod_perl CGI?
I'm not sure what you mean by a "mod_perl CGI." Anyway, basically you need to return the "404" error code in the HTTP response and provide some helpful HTML. In CGI this can be done like so: #!/usr/bin/perl -wT use strict; use CGI; my $q = CGI->new(); # okay, send the header so the browser knows it's a 404 print $q->header(-status => "404"); # now print something that looks like a normal 404 page my $url = $ENV{REQUEST_URI}; $url = $q->escapeHTML($url); # be paranoid re cross site scipting print <<ENDOFHTML; <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> The requested URL $url was not found on this server.<p> <hr> <address>$ENV{SERVER_SOFTWARE} at $ENV{SERVER_NAME} Port $ENV{SERVER_PORT}</address> </body></html> ENDOFHTML -- s'' Mark Fowler London.pm Bath.pm http://www.twoshortplanks.com/ [EMAIL PROTECTED] ';use Term'Cap;$t=Tgetent Term'Cap{};print$t->Tputs(cl);for$w(split/ +/ ){for(0..30){$|=print$t->Tgoto(cm,$_,$y)." $w";select$k,$k,$k,.03}$y+=2}