# error 404 ...und finde den Fehler nicht



## TinniTuss (19. September 2010)

Hallo Webmasterinnen und Webmaster

Ich habe eine Fehler-404-Seite via '.hraccess' in mein System eingebunden, weil 1&1 mir mit seiner eigenen Sedo-Seite auf'n Wecker ging - relativ simpel, verbesserungswürdig, funktioniert aber tadellos.

Aber...

...ich bekomme zu viele Besucher auf meiner Fehlerseite, und finde den Fehler nicht. Weiß jemand was alles diesen 'error404' auslöst?

... ein fehlendes Bild vielleicht? ... eine fehlende include-Datei?...

Mein letzter Ansatz war der Tip von 'http://css-tricks.com/404-best-practices' 


```
<?php
  mail("chriscoyier@gmail.com", "404 report", $_SERVER['REQUEST_URI'], "From: chriscoyier@gmail.com\n")
?>
```

Allerdings erhalte ich dann immer nur die Adresse meiner Fehler-404-seite übermittelt
Wo steckt mein Denkfehler?

grüßend, hoffend, wartend...

HH.


----------



## Sven Mintel (19. September 2010)

Moin,

versuche mal statt $_SERVER['REQUEST_URI'] jenes: 
*$_SERVER['REDIRECT_URL'] * 

Ansonsten: Gibt es bei 1&1 keine Statistiken? 
Daraus sollte idR. auch hervorgehen, wenn Dateien nicht gefunden wurden.

Was alles einen 404er auslöst:
Jegliche HTTP-Anfrage auf eine nicht existierende Adresse.

include() oder ähnliche PHP-Anweisungen sind davon nicht betroffen, da es sich dort normalerweise um Operationen im Dateisystem handelt.


----------



## TinniTuss (19. September 2010)

... ich hab die Änderung mal eingefügt und liege auf der Lauer. Leider kann ich den Fehler nicht selber auslösen, weil ich nicht weiß welcher der 12.000 Links fehlerhaft ist, und ich nicht den leisesten Verdacht habe.  

Natürlich gibt es einsehbare Logs bei 1&1. Allerdings habe ich noch nicht raus, wie man einigermaßen komfortabel darauf zugreift. Ich kenne das nur so, dass man sich über den Internetauftritt über ein halbes Duzend Menüs und Untermenüs durchhangeln/klicken muß. Und weil man sich immer am Anfang einloggen muß (logisch!), kann man sich auch den Link dorthin nicht 'konservieren'. 

Also um die Logs pasenlos im Blick zu haben taugt diese Hangelei nicht.
Ich würde 1&1 auch nicht mehr weiterempfehlen. Aber solche Empfehlungen kennst Du sicher selber...

Eins macht mich übrigens _noch_ sehr stutzig: Bei meinen 'Selbstversuchen' habe ich bemerkt, dass pro Fehlermeldung immer zwei Benachrichtigungen eintrudeln... Das ist mir vollkommen schleierhaft.

Ich geh' jetzt mal in die 1&1-Logs...

HH.


----------



## Sven Mintel (19. September 2010)

TinniTuss hat gesagt.:


> Leider kann ich den Fehler nicht selber auslösen, weil ich nicht weiß welcher der 12.000 Links fehlerhaft ist, und ich nicht den leisesten Verdacht habe.



Der Fehler muss nicht bei dir liegen, es kann auch gut sein, dass er durch einen veralteten SuMa-Eintrag oder eine fehlerhafte Eingabe eines Nutzers in die Adresszeile erzeugt wurde.

Wenn du die Logs direkt einsehen kannst, suche nach 404, dann schaue halt nach, wo der Besucher mit der entsprechend geloggten IP kurz vorher unterwegs war...so kannst du die Ursache eingrenzen.


----------



## TinniTuss (19. September 2010)

Ja, stimmt, könnte schon sein, aber dafür kommen die Benachrichtungen zu häufig.

Ich habe eine 'access.log.current' durchforstet, die hat zur Zeit knapp 3.500 Einträge.
21 davon haben etwas mit 404, betreffen aber eine andere Domain (beim selben Hoster).
Trotzdem bekomme ich laufend Resonanz von meiner Fehler404.php per eMail und der 
Absender ist immer die Fehler404.php selber. Das ist auch nach der Änderung in 
der .htaccess ($_SERVER['REDIRECT_URL']  -->siehe oben) so geblieben.


...to be continued

HH.


----------



## TinniTuss (19. September 2010)

Es wird immer lustiger.

Ich habe die 
*$_SERVER['REDIRECT_URL']*
gegen diese
*$_SERVER['SERVER_ADDR']*
ausgetauscht, damit ich wenigstens sehe, 'wer' den Fehler auslöst.

Ich habe dann von einem externen (Klapp-)Rechner aus, auf meiner WebSite einen internen Link geklickt und gewartet was passiert.
Der Klick hat schön brav zum richtigen Ziel geführt, nichts Verdächtiges.

Und doch kam eine Meldung von meiner Fehler404.php (mit leichter Verzögerung) eingetrudelt, und ich war sicher meine Eigene IP vorzufinden.

Denkste...
...die '82.165.104.65' gehört dem 1&1 Kundenserver.

Hängt das evtl. damit zusammen dass ich die Standard-(Sedo-)Fehler-Umleitung von 1&1 in meiner .htaccess deaktiviert habe?

Ich fange zwar schon langsam an zu reimen, ein Lied wird aber daraus noch lange nicht...!?


Ich versuchs noch einmal von meinem Klapprechner:
Klick... der selbe Link...
Alles normal... sieht gut aus...

70 Sekunden später die eMail-Meldung mit dem Absender des 1&1-Kundenservers.

Tolle Sache...?!
Kennt sich jemand mit solchem Spuk aus?

HH.


----------



## Sven Mintel (19. September 2010)

Füge mal in die 404-Seite folgendes ein:

```
<?php phpinfo();?>
```

Dann rufe direkt per Eingabe in Browser-Adresszeile irgendeine nicht existierende Adresse auf, .....und schaue, ob dir phpinfo() nicht irgendeine Variable liefert, die dir die ursprünglich aufgerufene Adresse nennt.

Wenn du da irgendwelche Seiten aufrufst, kann sich das Problem auch in tieferen Gefilden befinden, da würde schon in einem Stylesheet verwendetes, nicht existierendes Hintergrundbild ausreichen oder ein nicht vorhandenes favicon.ico , wonach der Browser von sich aus sucht.


----------



## TinniTuss (19. September 2010)

Die Idee ist gut...
...aber da muß ich mir erstmal etwas drumherum 'stricken' Ich muß irgendwo einen 'falschen' Link einbauen, sonst bekomme ich keinen vernünftigen 'referer'. Und ich muß mein fehler404.php umstricken, denn das Ausgabefenster ist nur 400px breit (overflow: hidden) und ich bekomme nur abgehackten kram zu sehen. Also denke ich mal, wir hören erst morgen wieder voneinander. 

Vielen Dank schon mal...
HH.


----------



## Sven Mintel (20. September 2010)

TinniTuss hat gesagt.:


> sonst bekomme ich keinen vernünftigen 'referer'


 Wozu ein referer....du benötigst keinen Referer, sondern erstmal die ursprünglich angeforderte Adresse.

Ansonsten: Du kannst auch mal die Seite, von der du eine Fehlermail bekommen hast, obwohl du nicht weisst warum, öffnen, und im Firebug im Netzwerk-Tab schauen, was diese Seite alles anfordert(404wird da rot markiert)


----------



## TinniTuss (20. September 2010)

Ach Sven...

... die Fehler-Mail bekomme ich *immer* von meiner 404er-Seite. Und der übermittelte Name war bisher immer der Name meiner error404-Seite.
In späten Stunden habe ich die Variable

*$_SERVER['HTTP_REFERER']*
eingesetzt, wo bisher 
*$_SERVER['REDIRECT_URL']*
stand.

In eine komplett fremde unabhängige WebSite habe ich einen Fehlerhaften Link zu meiner 'Problem-WebSite' eingebaut.
Jetzt wird mir bei Aufruf meiner WebSite über die zweite, anschließend deren Namen übermittelt. Klicke ich in meiner eigenen WebSite, wird mir im Falle von *$_SERVER['HTTP_REFERER']* nichts, und mit *$_SERVER['REDIRECT_URL']* der Name der Fehler404.php übermittelt. Ganz gleich was ich (und vermutlich auch der User) klicke, es funktioniert (nach außen hin) offensichtlich alles einwandfrei, es wird KEINE Fehler404-Seite angezeigt und trotzdem wird von irgendwoher die Mitteilung aus meiner Fehler404.php geschickt. Wenn ich mir die von der Fehler404.php übermittelte IP des Users ansehe, stelle ich fest, dass sie IMMER vom 1&1 KundenServer kommt. 

Eine defekte Seite als solches gibt es nicht, die Inhalte werden in einer selbstgestrickten Art CMS anhand von Parametern immer neu zusammengesetzt  

Die Firebug-Idee ist gut, aber ein paar exemplarische Link-Aufrufe förderten keine 404er zutage. Ich werde Firebug jetzt mal 'ne Weile im Auge behalten...

Schönen Tachnoch
HH.


----------



## TinniTuss (20. September 2010)

Ich ahne, wo der Hase läuft...

In einem Bereich, der von der Hauptseite zwar abgekoppelt ist und nur der Auflistung gewählter Suchbegriffe dient, der aber innerhalb der Domain liegt, ist die FehlerübermittlungsMail der fehler404.php ausgelöst worden. (wie immer, ohne die 404er-Seite anzuzeigen). Firebug (tolles Programm, bisher nie benutzt) hat mich zu einem Fehler in einem CSS-Stylesheet geführt: In einer Sub-CSS, die von der Haupt-CSS aufgerufen wird, ist ein halbtransparenter (nicht existierender) Background definiert, der in der dazugehörenden HTML überschrieben (mit style="..." - anders besetzt) wurde. 

Naughty, naughty...!

Auf dieser Seite haben zwar Fremde nix zu suchen, aber ich habe zumindest schonmal ein Feld bzw. eine Fehlerart gefunden das/die ich mal näher unter die Lupe nehmen muß. 

... to be continued

HH.

PS. Firebug ist wirklich ein 'Wunderteil'!


----------



## TinniTuss (7. Dezember 2010)

...Jahre später

Der Fehler besteht nach wie vor.

Zigmal pro Tag bekomme ich Post von meiner Fehler-404-Seite. Selbst wenn ich mich selbst auf meiner eigenen WebSite 'bewege', bekomme ich laufend eMails meiner eigenen Fehlerroutine, ohne dass ich je die Fehlerseite höchst persönlich zu Gesicht bekomme.
Vor zwei Tagen hatte ich ein Gespräch mit meinem Hoster 1&1, weil beim Aufruf einer Domain die Nicht-gefunden-Browser-Fehlermeldung erscheint und nach drei-, viermaligem Aufruf kommt Sie schließlich doch noch.

Wenn ich beim w3c-Validator meine Projekt-Seiten checken lasse, passiert es immer wieder, dass der Check-Server Fehler-403, 'kein Zugriff', zurückgibt und erst nach mehrmaligem Browser-Refresh macht er es schließlich doch. Immer wieder mal, wenn ich z.B. ein Bild ersetzen möchte, und ich klicke mit der rechten Maustaste auf das Objekt um mir Größe und Dateinamen anzeigen zu lassen, werde ich auf die (meine) Fehler-404-Seite zurückgeworfen. Diese ganzen Merkwürdigkeiten fingen (nach Gefühl) genau dann an, als 1&1 alle 404er auf so eine verschissene Sedo-Werbeseite zwangs-umgeleitet hat, und ich gezwungen war, mir meine eigene Fehlerabfang-Routine zu schreiben... Die HotLine war ebenso ratlos (technisch unbedarftes 'Heimchen'...).  

Kann evtl. irgend jemand hier mit diesen Symptomen etwas anfangen?

In Sachen '.htacess & Apache' bin ich so ziemlich unbedarft, da setze man bitte bei mir nichts voraus...

Hilfe!

Viel Gruß
HH.


----------

