# Brokenlink durch .htaccess durschleifen



## ronaldo84 (25. Mai 2007)

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:

```
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:

```
$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


----------



## Gunah (25. Mai 2007)

ich denke mal es liegt an der Weiterleitung also die vom Header


----------



## ronaldo84 (25. Mai 2007)

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.


----------

