Der heimliche 404 Fehler

Codeigniter Gotchas

Gestern habe ich über unser erstes Projekt basierend auf dem Codeigniter Framework gebloggt. Heute musste ich bei einem Blick in die Apache Access Log Files zum Entsetzen feststellen, dass alle Seiten den HTTP Status Code 404 zurückgeben. Erstaunlicherweise rendert sich die Seite im Browser ohne Probleme und man kann alle Seiten absurfen. Es dauerte ein paar Minuten bis ich dem Fehler auf die Schliche gekommen bin.

Codeigniter schlägt vor, dass man eine .htaccess Datei verwendet, um damit die Verwendung von index.php in jeder URL zu vermeiden.

"By default, the index.php file will be included in your URLs. You can easily remove this file by using a .htaccess file with some simple rules."

In der CI Dokumentation findet man eine Beispiel Version der .htaccess Datei. Diese beinhaltet die folgende Sektion:


<ifmodule>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</ifmodule>

Damit wird festgelegt, dass ein automatischer Redirect auf die index.php Datei erfolgt, falls mod_rewrite nicht installiert ist. Genau hier liegt das Problem. Dem Benutzer wird "vorgegaukelt", dass mit seiner Webseite alles in Ordnung ist obwohl bei jedem Seitenaufruf ein 404 Fehler zurückgegeben wird. Dem Anwender im Browser fällt das gar nicht auf, dem googlebot sehr wohl. Keine gute Empfehlung aus der Codeigniter Dokumentation wie ich finde. Es gibt sicherlich einige Projekte da draussen, die denken alles sei in Ordnung mit ihrer Webseite obwohl es das eige
ntlich gar nicht ist.
Tags :



Webdesign Blogkanzelbahn.de © 2007 • ImpressumWir über uns