Moin!
ich möchte gern herausfinden, woher die User kommen, die auf der 404.html landen. Ich möchte so eventuelle Schwachstellen der Website ausschalten.
Da dies eine einfache HTML-Datei ist, kann hier kein PHP-Script eingebunden werden.
Fassen wir zusammen:
1. Die Datei heißt zwingend 404.html und kann nur statisches HTML enthalten - allenfalls ergänzt durch clientseitiges Javascript.
2. Du hast keine Logfiles, an die du kommen kannst.
3. Du kannst auch keine .htaccess-Datei nutzen.
Dann folgt daraus: Dein Wunsch ist nicht erfüllbar. Damit du davon erfährst, dass ein Client überhaupt einen 404-Fehler gekriegt hat, muss diese Information ja irgendwie vom Server gesammelt und dir dann zur Verfügung gestellt werden. Dies geschieht normalerweise per Logfile. Alternativ per Skript (z.B., aber nicht ausschließlich, in PHP).
Wenn du keine Skriptmöglichkeit hast, muss das Logfile herhalten. Fehlt auch das Logfile, sind keine weiteren Möglichkeiten gegeben, die Information "Dieser Request ist 404" zu verarbeiten und zu speichern für die spätere Auswertung.
Als Alternative bleibt, zur Prüfung deiner eigenen internen Verlinkung auf der Site einen Linkchecker (z.B. den vom W3C, http://validator.w3.org/checklink) zu benutzen.
Auf externe Seiten hast du keinen Einfluß, und du solltest dir über falsche Links auf diesen Seiten auch nicht so viele Gedanken machen. Wer dort einen Link falsch eingegeben hat, würde dich ja sonst zwingen, deine Site ständig nach den Tippfehlern fremder Webmaster auszurichten.
Und sofern du deine Site umstrukturierst, halte dich an den wichtigsten Tipp des W3C: "Cool URIs don't change". Wenn du deine Seitennamen nicht änderst, oder zumindest Weiterleitungen auf deren neue Ziele setzt, dann werden auch Links auf externen Seiten immer funktionieren.
- Sven Rautenberg