Brokenlink durch .htaccess durschleifen

ronaldo84

Erfahrenes Mitglied
Hallo,

ich würde gerne für eine Homepage realisieren das man bei eingabe eines Brokenlinks auf eine Adresse weitergeleitet wird. Dies ist ja kein Problem.

In der .htaccess-Datei:
Code:
ErrorDocument 404 http://www.meineseite.de/php/brokenlink.php4?nr=404
In der brokenlink.php4 wird soll nun eine Mail an mich versendet werden das es einen Brokenlink gibt und wie dieser lautet.
Dazu folgende PHP-Code:
PHP:
$mailto = "info@meineseite.de";
$browser = $_SERVER['HTTP_USER_AGENT'];
$ip = $_SERVER['REMOTE_ADDR'];
$wasfehlt = $_SERVER['REQUEST_URI'];
$woher = $_SERVER['HTTP_REFERER'];
$nr = $_GET['nr'];

$header = "Content-Type: text/plain; charset=\"us-ascii\"\n";
$header .= "Content-Transfer-Encoding: 7bit\n";
$header .= "FROM: Fehlerhafte Links\n";
$msg = "----------------------------- Ursprüngliche Nachricht -----------------------------\n";
$msg .= "Von     :  PHP_Mailscript \ broken Link ,User_IP: $REMOTE_ADDR\n";
$msg .= "Gesendet:  am: ".date("d.m.Y")."\n";
$msg .= "An      :  $mailto\n";
$msg .= "Betreff :  Fehlerhafter Link\n";
$msg .= "-----------------------------------------------------------------------------------\n\n";  
$msg .= "Fehlernummer $nr\n";
$msg .= "Browser: $browser\n";
$msg .= "IP-Adresse: $ip\n\n";
$msg .= "Angeforderte URL: $wasfehlt\n";
$msg .= "vorhergehende URL: $woher\n";

mail($mailto,"Fehler:". $nr,$msg, $header);
header("location: ../sonstige/k_fehler.htm"); 
?>
Nur leider wird in der Variablen $wasfehlt nun imm der Link http://www.meineseite.de/php/brokenlink.php4 angezeigt. Gibt es eine Möglichkeit auf die URL vor dieser Weiterleitungzugreifen zu können? Vielleicht was mit PHP oder das ich notfalls die URL per GET übergebe?

Hoffe ich habe mich klar ausgedrückt.

MFG

ronaldo
 
Die Header-Weiterleitung wird erst nach Abfrage $_SERVER["REQUEST_URI"] ausgeführt. ALso müßte dort eigentlich der broken Link stehen. Dort steht aber die Seite des Skripte drinnen. HAt also leider nichts mit der Header Weiterleitung zu tun. Hat mit der Weiterleitung aus der .htaccess zu tun.
 
Zurück