Mod_Rewrite Tutorial Teil 1 – Was bringt es?

wegweiser-mod_rewriteIm ersten Teil meiner Artikel-Serie geht es wie immer um die Sinnfrage. Was ist Mod_Rewrite und warum sollte man sich damit beschäftigen? Was sind die Möglichkeiten und wo enden sie? Diese und weitere Fragen werde ich heute im Einführungsartikel beantworten. Konkret in die Praxis geht es erst in den nächsten Teilen.

Überblick über die Artikel-Serie

  1. Mod_Rewrite Tutorial Teil 1 – Was bringt es?
  2. Mod_Rewrite Tutorial Teil 2 – Reguläre Ausdrücke

Was ist Mod_Rewrite?

Mod_Rewrite ist ein Modul für den Apache-Webserver. Eigentlich jedes normale Shared-Hosting oder Managed Server Paket was man so mieten kann, basiert auf diesem Server. Die Aufgabe von Apache ist es, Anfragen von Usern entgegenzunehmen, zu überprüfen und wenn alles passt die angeforderte Datei auf der Festplatte rauszusuchen und an den User auszuliefern. Der „User“ kann dabei ein echter Besucher oder eine Suchmaschine sein.
apache

Mod_Rewrite klemmt sich jetzt dazwischen. Bevor die Datei auf der Festplatte des Servers gesucht wird, wird die Anfrage verändert. So ist es möglich, den Server nach einer völlig anderen Datei suchen zu lassen, als der User angefragt hat.
apache-mod_rewrite

Was bringt Mod_Rewrite?

Die Anforderungen von User und Server weichen oft voneinander ab. Der Server ist oft darauf angewiesen, dass eine Datei eine bestimmte Endung hat (z.B. php) damit er sie korrekt verarbeiten kann. Der User braucht vor allem „schöne“ URLs, die ihm sofort klar machen wo er sich auf der Seite befindet und worum es geht. Gerade Suchmaschinen suchen in der URL nach Keywords, um das Thema der Seite einzuordnen. Ob die Seite mit PHP generiert wurde oder nicht, ist dem User herzlich egal.

Dabei muss man mit Mod_Rewrite nicht jede Änderung 1:1 umsetzen, sondern man kann auch komplexe Muster definieren. Es lassen sich Regeln in Abhängigkeit der Herkunft des Users, seiner Cookies etc. definieren. Mehr dazu in den nächsten Artikeln der Serie.

Neben der internen Umleitung der Anfrage wird Mod_Rewrite auch dazu genutzt, den User auf eine andere URL umzuleiten. Im Unterschied zur internen Umleitung sieht der User dabei die geänderte URL. Technisch schickt er dadurch auch eine neue Anfrage ab. Auch hier lassen sich durch clevere Muster viele Seiten auf einmal umleiten, sodass Besucher und Suchmaschinen immer den richtigen Weg finden.

Typische Anwendungsfälle von Mod_Rewrite sind:

  • Schöne URLs für den User z.B. in der Form: http://example.com/seitenname/
  • Alle Unterseiten von http://example.com auf http://www.example.com umleiten oder umgekehrt
  • Alle Unterseiten einer veralteten oder zusätzlichen Domain auf die Hauptdomain umleiten
  • Nach einem Relaunch die alten URLs auf die neuen URLs umleiten
  • Inhalte, die unter mehreren URLs erreichbar sind auf eine Haupt-URL umleiten
  • Bei Seiten mit SSL-Verschlüsselung von http auf https umleiten

Wo enden die Möglichkeiten?

Entgegen der Meinung einiger SEOs ist Mod_Rewrite keine Zauberei. Informationen, die in der Anfrage des Users fehlen, kann man nicht herzaubern. Aus der Anfrage http://www.example.com/jeans/ kann man nicht ohne weiteres auch noch automatisch die Jeans der richtigen Größe anzeigen.

Es lässt sich auch nicht jede Anforderung in ein Muster packen. Wenn bei einem Relaunch alte und neue URLs völlig unterschiedlich sind, gibt es nicht immer eine elegante Regel, sondern man muss im Zweifel jede URL einzeln umleiten. Zudem werden manche Muster schnell so komplex, das auch gestandene Programmierer frustriert aufgeben.

Fazit

Mod_Rewrite ist verdammt mächtig, dadurch aber auch verdammt komplex. Wenn man es beherrscht hat man gute Möglichkeiten die Usability und Suchmaschinenoptimierung seiner Seite zu verbessern. Wenn nicht, kann man sich tagelang mit einzelnen Regel herum ärgern und seine Besucher mit Endlos-Weiterleitungen verärgern.

Während ich heute nur ein wenig geplaudert habe, geht es im nächsten Teil der Serie ans Eingemachte. Mit den regulären Ausdrücken lassen sich die Muster für Mod_Rewrite definieren, der Umgang will aber erstmal gelernt sein.

Wofür nutzt ihr Mod_Rewrite oder würdet es gerne benutzen?

4 thoughts on “Mod_Rewrite Tutorial Teil 1 – Was bringt es?
  1. Hallo

    schöner Artikel, erstmal schön einfach erklärt worum es geht.
    Wenn die Serie so weiter geht, wäre wirklich toll!

    Beste Grüße

  2. Hi Sebastian,

    danke für deinen Kommentar. Wenn es in den nächsten Teilen in die Praxis geht, wird es zwangsläufig etwas technischer, aber ich versuche auch dort alles möglichst einfach verständlich zu halten.

    Schönen Abend,
    Jonas

  3. Ich erinnere mich noch 2005, mod rewrite, was? Da müssen wir die Server anpassen *lol*…und das war der zweitgrösste Verlag Deutschlands.. Heute ist es selbstverständlich, dass auch 1 Euro Webhoster Mod Rewrite unterstützen.

  4. Hi Rene,

    ja Mod Rewrite ist inzwischen so beliebt, dass es eigentlich zum Standard gehört. Wobei ich es vor kurzem mal mit einem T-Online Webspace zu tun hatte, wo es anscheinend nicht aktiviert war.

    Schöne Grüße,
    Jonas

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert