- Bestellen
- Providerwechsel
- Rechnung & Vertrag
- Service & Infos
- Domains
- Homepage-Baukasten & Online-Shop
- ManagedHosting & ManagedServer
- Webhosting & Webhosting Plus
- VPS
- SSL-Zertifikate
- Microsoft 365
- Reseller
- Sucuri Website Security
- Managed Wordpress
- Aktuelles
mod_rewrite
Alle ausklappen
Alle einklappen
Was ist mod_rewrite?
mod_rewrite ist ein Modul für den Apache-Webserver, das die Definition sogenannter Rewrite-Regeln ermöglicht. Mit Hilfe von Rewrite-Regeln können URLs manipuliert und somit beispielsweise suchmaschinenfreundlicher gestaltet werden.
Wie kann mod_rewrite genutzt werden?
Das Modul mod_rewrite können Sie nutzen, indem Sie eine .htaccess-Datei erstellen. Informationen zum Anlegen einer .htaccess-Datei erhalten Sie auf der Seite ".htaccess" in diesen FAQ.
Um das mod_rewrite-Modul zu aktivieren, erstellen Sie in einer .htaccess-Datei bitte den folgenden Eintrag:
RewriteEngine On
Meine Rewrite-Regel funktioniert nicht. Warum?
Wenn eine Rewrite-Regel nicht funktioniert, kann das viele Ursachen haben. Einige häufige Ursachen haben wir im Folgenden für Sie zusammengestellt.
Die Anweisung "RewriteBase"
Je nach Struktur des Webservers wird in der .htaccess-Datei die Anweisung RewriteBase benötigt, um Rewrite-Regeln nutzen zu können. Es kann deshalb vorkommen, dass eine .htaccess-Datei, die auf einem Webserver problemlos lief, auf einem anderen Webserver nicht mehr funktioniert. Häufig kommt es dabei zu einem "Fehler 404" (Not found). Fügen Sie dann einfach die Zeile
RewriteBase /
nach der Zeile
RewriteEngine On
ein.
Liegt die .htaccess-Datei nicht im Stammverzeichnis (Document Root) der Domain muss der Pfad angegeben werden, unter welchem die Datei abgelegt ist:
RewriteBase /verzeichnis1/verzeichnis2
Wenn Sie die .htaccess-Datei einer Open-Source-Software wie z.B. Joomla oder Drupal für Suchmaschinenoptimierung (SEO) verwenden, steht die Anweisung RewriteBase oft schon in der .htaccess-Datei, wurde aber durch das Voranstellen des Kommentarzeichens # deaktiviert. Dann genügt es das Kommentarzeichen zu entfernen.
Mehr zu diesem Thema erfahren Sie in der Dokumentation zu RewriteBase auf Apache.org.
php_value und php_flag
Die Anweisungen php_value und php_flag können bei DomainFactory nicht verwendet werden. Ist eine der beiden Anweisungen in der .htaccess-Datei enthalten, erhalten Sie die Fehlermeldung "internal server error". Sie können stattdessen den PHP.INI-Editor nutzen, wenn dieser in Ihrem Paket enthalten ist. In den anderen skriptfähigen Paketen können Sie eine eigene PHP.INI-Datei für diesen Zweck anlegen.
Anweisungen, die nicht in .htaccess-Dateien verwendet werden können
Einige Anweisungen wie RewriteMap und RewriteLog sind nicht für .htaccess-Dateien vorgesehen und können deshalb nicht verwendet werden. Ob eine Anweisung in einer .htaccess-Datei verwendet werden kann, erfahren Sie in der Dokumentation zu mod_rewrite: Nur wenn in der Zeile "Context" für die jeweilige Anweisung auch ".htaccess" steht, kann die Anweisung in einer .htaccess-Datei eingesetzt werden.
Tipps zur Fehlersuche
Bei der Fehlersuche ist es hilfreich, hinter die Anweisung, in welcher man einen Fehler vermutet, das Flag [L] zu schreiben. Dadurch werden die Rewrite-Regeln nach Ausführung dieser Anweisung abgebrochen. So kann die Funktionalität einzelner Anweisungen überprüft werden, ohne dass das Ergebnis durch nachfolgende Anweisungen verändert wird.
Außerdem hilft es, das Flag [R] hinter die Anweisung zu schreiben, in der man einen Fehler vermutet. Dadurch wird eine externe Weiterleitung erzwungen und in der Adresszeile des Browsers wird angezeigt, wohin tatsächlich weitergeleitet wird.
Wo finde ich weitere Informationen?
Weitere Informationen rund um mod_rewrite finden Sie unter den folgenden Links:
DomainFactory Forum
In unserem Forum gibt es einen eigenen Bereich zum Thema .htaccess, in welchem häufig auch mod_rewrite-spezifische Themen behandelt werden:
https://www.df.eu/forum/forums/130-htaccess
Apache-Webseite Referenzdokumentation
Auf der Apache-Webseite finden Sie eine Referenzdokumentation zum "mod_rewrite"-Modul, welche sowohl auf die grundsätzliche Funktionsweise als auch das Erstellen komplexer Rewrite-Rules eingeht:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
Apache-Wiki Rewrite-Guide
Neben der Referenzdokumentation gibt es auch ein Rewrite-Wiki, das konkrete Lösungsansätze und Beispiele für RewriteRules bietet:
http://wiki.apache.org/httpd/Rewrite