Zum Inhalt springen

Rewrite Rules

oder auch Rewrite-Regeln

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 02.11.2026

Rewrite Rules sind Regeln, mit denen der Webserver eine angefragte Adresse intern auf eine andere umschreibt. Der Browser sieht davon nichts; er bekommt die Antwort auf die Adresse, die er angefragt hat. Darauf beruhen sprechende Adressen in jedem Content-Management-System.

Rewrite Rules

Regeln, mit denen der Webserver eine angefragte Adresse intern auf eine andere umschreibt.
Beispiel: „Die Rewrite Rules leiten jede Anfrage an die Einstiegsdatei der Anwendung, wenn keine Datei mit dem Namen existiert.“

Auch: Rewrite-Regeln, URL-Rewriting. Bei Apache stehen sie im Modul mod_rewrite und meist in der .htaccess, bei nginx in einer try_files-Anweisung.

Abgrenzung zur Weiterleitung: Eine Weiterleitung schickt den Browser an eine neue Adresse, und die steht danach in der Adresszeile. Ein Rewrite bleibt im Server und ändert die Adresszeile nicht.

Wofür Rewrite Rules im Alltag gebraucht werden

Für die eine Regel, die jede Anfrage an die Einstiegsdatei der Anwendung gibt, sofern keine Datei mit diesem Namen existiert. Daraus entstehen Adressen ohne Dateiendung und ohne Fragezeichen, und so sieht sie aus:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Die zweite Zeile ist die Bedingung: Sie trifft zu, wenn an der angefragten Stelle keine Datei liegt. Die dritte schreibt die Anfrage dann auf die Einstiegsdatei um, und [L] beendet die Prüfung. Bilder und Stylesheets liegen als Datei vor und laufen an der Regel vorbei.

Drei weitere Rewrite Rules, die fast jede Website braucht

Die erste schickt Besucher von der Adresse mit Vorsilbe auf die ohne, die zweite erzwingt die verschlüsselte Verbindung, die dritte zieht eine umgezogene Adresse auf ihre neue. Alle drei tragen den Zusatz R=301 und sind damit Weiterleitungen: Die Adresszeile ändert sich, während ein Rewrite im Server bleibt.

# ohne www statt mit www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

# immer über HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# eine einzelne umgezogene Seite
RewriteRule ^alte-adresse/?$ /neue-adresse/ [R=301,L]

Die ersten beiden gehören in diese Reihenfolge, sonst leitet der Server zweimal um und verschenkt eine Runde. Einzelne umgezogene Adressen gehören ins Weiterleitungskonzept, damit später nachvollziehbar bleibt, warum es die Regel gibt.

Woran Rewrite Rules oft scheitern

An der Reihenfolge. Die Regeln werden von oben nach unten geprüft, und eine frühe Regel, die abschließt, verhindert alles Folgende.

Der zweite Grund ist die Bedingung. Fehlt die Prüfung, ob die Datei existiert, landen auch Bilder und Stylesheets bei der Anwendung, und die Seite erscheint ohne Gestaltung.

Was Rewrite Rules kosten

Bei Apache in der .htaccess etwas Zeit je Aufruf, weil die Datei in jedem Verzeichnis des Pfades gesucht und gelesen wird. In der Serverkonfiguration ist derselbe Satz Regeln schneller.

Deshalb ist die .htaccess die Notlösung für geteiltes Hosting und die Serverkonfiguration der Platz auf einem eigenen Server.

Siehe auch:

.htaccess

Eine Konfigurationsdatei, mit der Apache sich je Verzeichnis einstellen lässt.

#Hosting & Webserver

Virtual Host (vHost)

Die Konfiguration, mit der ein Webserver mehrere Websites unter einer Adresse auseinanderhält.

#Hosting & Webserver

301 Moved Permanently

Die Adresse ist dauerhaft umgezogen; Browser und Suchmaschinen sollen sich das merken.

#Hosting & Webserver #Suchmaschinenoptimierung (SEO)

Weiterleitungskonzept (301-Mapping)

Die Zuordnung jeder alten Adresse zu ihrem neuen Ziel vor einem Relaunch oder Umzug.

#Suchmaschinenoptimierung (SEO)

Apache

Ein verbreiteter Webserver, der sich je Verzeichnis über .htaccess einstellen lässt.

#Hosting & Webserver

nginx

Ein Webserver, der viele gleichzeitige Verbindungen mit wenig Arbeitsspeicher bedient.

#Hosting & Webserver