6

I'm using mod_rewrite to redirect all incoming requests to a CGI application. I now need to have the application return a 404 if the requested file isn't found. How can I go about this from my program? The first line sent is the content-type while it's the line before that that usually indicates the status (200/404/500, etc).

2 Answers2

13

Use the Status HTTP header. An example in Perl:

#!/usr/bin/perl

use strict;
use warnings;

print "Status: 404 Not Found\r\n";
print "Content-Type: text/html\r\n\r\n";

print "<h1>404 File not found!</h1>";

When using Perl (and other languages) however, excellent modules like CGI and CGI::Simple exist.

Mikael S
  • 2,480
0

If you use perl CGI module:

use CGI ":standard";

print header(-status => 404);

Alek_A
  • 367
  • 2
  • 9