Hallo zusammen,
ich habe ein Perl Script erstellt, welches aufgerufen wird, wenn eine Seite nicht gefunden wurde. Alles schön und gut, das Script läuft und sendet auch brav seine eMail, DOCH der Link, von welchem das Script aufgerufen wird , wird nicht angezeigt (Ich nehme an, das liegt an .htaccess) aber wie bekomm ich es hin, dass dieses Script die fehlerhafte Seite anzeigt, oder den Link, oder was sonst auch immer mir sagt welche Seite nicht gefunden wurde.
Vielen Dank schon mal für die Mühe
mFg
Torwächter
---- xxx ist absichtlich gelöscht ----
#!/bin/perl
#Version 1.0
#Stand 14.11.2001
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<([^>]|\n)*>//g;
$value =~ s/<//g;
$value =~ s/>//g;
$FORM{$name} = $value;
}
###############################
$von = $ENV{'HTTP_REFERER'};
$log = "/htdocs/www/logs/fehlerloger.log";
########################MAIL#######################
my $Sendmail_Prog = "/bin/sendmail";
my $supp = "xxx";
my $mailto = "xxx";
my $subject = "Seite wurde nicht gefunden";
open(MAIL,"|$Sendmail_Prog -t") || print "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "From: $supp\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "Der Link von $von sollte geprüft werden.\n\n";
if($FORM{'beschreibung'} ne "")
{
print MAIL "Der Sender war so freundlich dies zu schreiben\n\n";
print MAIL "$FORM{'beschreibung'}\n";
}
close(MAIL) || print "Fehler beim Mailversenden!";
#####################################################
open(DATEI, ">>$log");
print DATEI "$vonII\n";
close(DATEI);
#####################################################
isperl:
print "Content-type: text/html\n\n";
print qq~
<html>
<head>
<title></title>
</head>
<body text="#000000" bgcolor="#000080" background="http://www.manga-zone.com/pics/bg.gif" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<center>
<table width="100%" height="100%" border="0" cellspacing="0">
<tr>
<td height="25" bgcolor="#000000"> 1</td>
<td height="25" bgcolor="#000000"> 2</td>
<td height="25" bgcolor="#000000"> 3</td>
</tr>
<tr>
<td width="25" bgcolor="#000000"> 4</td>
<td bgcolor="#FFCCCC">
<!--ANFANG DER TABELLE-->
<font size="6"><b>404</b></font>
<br>
<br>
<b>
Leider wird die von Ihnen angeforderte Seite nicht gefunden, bitte versuchen Sie es zu einem späteren Zeitpunkt nocheinmal. Vielen Dank.
</b>
<br>
<br>
<b>
The site you want, couldn´t be find, please try again later. Thanks.
</b>
<br>
<br>
~;
if($FORM{'beschreibung'} eq "")
{
print qq~
Sie können uns helfen, den Fehler schneller zu finden, wenn Sie in das Feld schreiben, was Sie gemacht haben (z.B. Bild ausgewählt), bevor der Fehler gekommen ist. Vielen Dank<br>
You also can help us to find the error faster, if you write into the fild, what you have done. Thanks<br><br>
<form action="xxx/cgi-bin/404/notfound.pl" method="post">
<input type="Text" name="beschreibung" value="" size="50"><input type="Submit" value="POST">
</form>
~;
}
else
{
print "Vielen Dank für Ihre Mühe, die Daten wurden uns gesendet<br>Thanks, we´ve got the eMail";
}
print qq~
<br>
<!--ENDE DER TABELLE-->
</td>
<td width="25" bgcolor="#000000"> 6</td>
</tr>
<tr>
<td height="25" bgcolor="#000000"> 7</td>
<td height="25" bgcolor="#000000"> 8</td>
<td height="25" bgcolor="#000000"> 9</td>
</tr>
</table>
</center>
</body>
</html>
~;
exit;