Jörg Kruse Webprogrammierung
und SEO seit 2005

mod_rewrite Fehlerbehandlung

aktualisiert:
Im folgenden gebe ich einen kurzen Überblick über Fehler(meldungen), die bei der Erstellung von mod_rewrite Code auftreten können

1. die mod_rewrite Regeln haben keinen Effekt

Als erstes sollte geprüft werden, ob mod_rewrite überhaupt aktiviert ist. Wenn dies der Fall ist, dann greift die mod_rewrite Regel möglicherweise nicht, weil das Regex-Pattern auf die Original-URL nicht passt, oder weil eine andere Regel die URL bereits so geändert hat, dass das Pattern nicht mehr passen kann.

2. Server-Error 403 „Forbidden“

Wenn mod_rewrite Regeln nicht in der .htaccess Datei ausgeführt werden dürfen, antwortet der Webserver mit dem Error-Code 403. In manchen Fällen kann folgende Code-Zeile in der .htaccess Datei das Problem beheben:


Options +FollowSymlinks

3. Server-Error 404 „Not Found“

Ein Fehler 404 kann durch eine fehlerhafte Weiterleitung oder einen fehlerhaften Rewrite verursacht werden oder durch unerwünschte Mehrfachweiterleitungen. Der Pfad der nicht gefundenen Datei kann Aufschluss darüber geben, was hier schief gelaufen ist.

4. Server-Error 500 „Internal Server Error“

Bei einem Server-Fehler 500 liegt oft ein Syntax-Fehler in der .htaccess Datei vor. Ursache hierfür kann auch sein, dass die Datei Windows- statt Unix-Umbrüche enthält, da sie nicht im ASCII-Modus auf den Server hochgeladen wurde, oder dass sie versteckte Zeichen, wie z.B. ein BOM, enthält.

5. Endlosweiterleitung

Zwei mod_rewrite Rules, die die URL jeweils in die entgegengesetzte Richtung umleiten, können zu einer Endlosweiterleitung führen.

6. die Zielseite ist defekt

Z.B. werden keine Bilder und keine CSS-Dateien geladen. Ein häufiger Grund hierfür ist, dass durch mod_rewrite weitere Verzeichnisebenen in die URL eingebaut wurden und im HTML-Dokument die relativen Pfade zu den eingebundenen Dateien nun nicht mehr stimmen. Eine weitere Ursache könnte sein, dass eingebundene Bilder oder CSS-Dateien durch Weiter- oder Umleitungen nicht mehr gefunden werden, siehe hierzu 3. Server-Error 404 „Not Found“