Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Re: 404 image errors

by katgirl (Hermit)
on Jun 11, 2002 at 12:37 UTC ( [id://173443]=note: print w/replies, xml ) Need Help??


in reply to Re: 404 image errors
in thread 404 image errors

thank you... but.... I still get the default error page :(

Replies are listed 'Best First'.
Re: 404 image errors
by cLive ;-) (Prior) on Jun 11, 2002 at 12:48 UTC
    OK, here's a complete (non-tested :) version...
    #!/usr/local/bin/perl -w use strict; use CGI; my $q = new CGI; my @image_extensions = qw(gif png jpg jpeg); my $referer = $ENV{'HTTP_REFERER'}; my $user = $ENV{'REMOTE_ADDR'}; my $usercomp = $ENV{'REMOTE_HOST'}; my $url = $ENV{'REDIRECT_URL'}; my $gmt = gmtime(time); if ($referer) { open(FILE2,">>public/404.txt"); print FILE2 "$url|$referer|$user|$usercomp|$gmt\n"; close(FILE2); } for (@image_extensions) { if ($url =~ /\.${_}$/) { print $q->redirect(-uri=>'http://image.url/here.gif'); exit(0); } } print $q->header, $q->start_html, $q->h1('Whoops!'), $q->h3($url), $q->p('That page does not exist. Please press your back button a +nd try again.'), $q->end_html; exit(0);

    cLive ;-)

    --
    seek(JOB,$$LA,0);

      cLive, I love you and I want to have your babies. *MWAH* :)
      If you made that an internal redirect rather than an external redirect, the browser wouldn't have to pull a second hit from the server... the server would merely substitute the image data.
      ... for (@image_extensions) { if ($url =~ /\.$_\z/) { print $q->redirect("/image/url/here.gif"); exit 0; } } ...
      Now, about them babies... {grin}

      -- Randal L. Schwartz, Perl hacker

        But would that still work if people are linking to my pictures from other sites?
        The load on the server doesn't matter, but as I log all the hits to the 404 page, the log file was growing enormous in a short space of time and I had to keep cleaning it out. When I told off the person who was generating the most hits, he got really annoyed at me, like it was MY fault that he was doing it wrong. But now every time he links to the wrong url, he'll have a picture there to tell him how stupid he is :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://173443]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (5)
As of 2024-03-29 10:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found