Wie kann ich mod_rewrite nutzen?

mod_rewrite bietet vielfältige Möglichkeiten zur Verkürzung, Optimierung, Änderung oder Umleitung bestehender URLs. Dies wird meist zur Suchmaschinenoptimierung eingesetzt, da Suchmaschinen nicht allen URLs folgen können. Per Standard ist mod_rewrite in unseren Paketen eingeschaltet und kann über eine .htaccess-Datei gesteuert werden.

Diese Datei muss in dem Ordner angelegt werden, ab dem diese Regeln gelten sollen. Meist ist dies der Hauptordner /home/www/ .

Die erste Zeile muss hier immer ein "RewriteEngine on" sein, damit die Funktion eingeschaltet wird. Danach kommen die eigentlichen "Regeln", die RewriteRules und RewriteConditions.

Hier ein paar Beispiele:

Soll eine .php-Seite in eine .html-Seite umbenannt werden, dann geht dies über:

RewriteEngine on
RewriteRule index.html$ index.php

Hiermit bekommt der Besucher in der Adresszeile dann eine .html-Seite angezeigt, obwohl im Hintergrund die eigentliche .php-Seite geladen wird.


Häufig für SEO verwendet wird das Ändern von variablen, oftmals langen URLs.
In diesem Beispiel wird seite.php?id=12 umgeschrieben auf seite_12.html

RewriteEngine on
RewriteRule ^seite_([0-9]+).html$ seite.php?id=$1

Den statischen .html-URLs kann eine Suchmaschine besser folgen, als den URLs mit PHP-Variablen.


Auch bestimmte IP-Adressen lassen sich damit auf Softwareebene aussperren:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^192.179.(1[0-7]). [OR]
# Schliesst 192.186.10.* bis 192.168.17.* aus

RewriteCond %{REMOTE_ADDR} ^192.(16[89]). [OR]
# Schliesst 192.168.*.* und 192.169.*.* aus

RewriteCond %{REMOTE_ADDR} ^192.168.0. [OR]
# Schliesst 192.168.0.* aus

RewriteCond %{REMOTE_ADDR} ^192.(16[89]|17[0-7]). [OR]
# Schliesst 192.168.*.* bis 192.177.*.* aus

RewriteCond %{REMOTE_ADDR} ^192.168.0.1 [OR]
# Schliesst 192.168.0.1 aus

RewriteRule ^.* - [F]
# Erzeugt 403 (Forbidden) Fehlermeldung

In diesem Beispiel erhalten alle dort angegebenen IP-Adressen eine 403 Fehlermeldung.


mod_rewrite ist in Kombination mit einer .htaccess-Datei sehr mächtig, die Möglichkeiten des Einsatzes sind riesig. Diese Beispiele sollen nur einen ersten Einblick gewähren. Genauere Informationen und Hilfe zu der Nutzung erhalten Sie in entsprechenden Portalen, wie z. B. http://www.modrewrite.de