Apache 404错误重定向的cgi程序

网络整理 - 07-26
应用场景:
针对访问不同的图片,出现404错误是可重定向到不同的图片或者页面。

一、Apache中的配置
<Directory "/www/images.abc.com/">
ErrorDocument 404 /cgi-bin/404.pl
</Directory>

二、CGI程序:
根据apache配置中指定的cgi-bin,把404.pl程序放在那里,如:/usr/local/apache/cgi-bin/404.pl
#!/usr/bin/perl

my $URL = $ENV{REQUEST_URI};
print "Status: 302 Found\n";
if ( $URL  =~ /_[1|2].jpg$/) {
        print "Location: /about/temp.jpg\n\n";
        }
elsif ( $URL =~ /_3.jpg$/) {
        print "Location: /about/temp3.jpg\n\n";
        }
else {
        print "Location: /about/404.html\n\n";
}

将程序改为755,然后重新启动apache就可以了。