Artikel weiterleiten
Artikel editieren
Druckansicht
FAQ #1028

So aktivieren und nutzen Sie mod_rewrite bei Ihrem Managed Server


mod_rewrite ist ein Apache Modul für die URL Manipulation. Mit der RewriteEngine des Apache-Webservers ist es möglich, die angeforderte URL anhand von Regeln umzuschreiben (eng.: to rewrite). Basierend auf einem Parser (Umwandler) für reguläre Ausdrücke kann die angeforderte URL manipuliert werden. Das heißt, ein Besucher, der eine von Ihrem Server verwaltete URL aufruft, kann beispielsweise automatisch auf eine andere Adresse umgeleitet werden.

 

Umleitungen mit mod_rewrite
Beispiele für Umleitungen
Abweichendes Heimatverzeichnis
Weiterführende Informationen

 

So definieren Sie Ihre Umleitungen mit mod_rewrite

mod_rewrite wird durch eine  .htaccess- Datei auf dem Webspace aktiviert. Legen Sie dazu in Ihrem Webspeicherplatz bzw. innerhalb des gewünschten Ordners  eine  .htaccess-Datei an.

Um das Modul mod_rewrite zu aktivieren, fügen Sie die folgende Zeile hinzu:

 

RewriteEngine on

Anschließend können Sie die Regeln festlegen, nach denen umgeleitet werden soll.

 

RewriteRule < Umleitungsregel >

 

Mit der RewriteRule kann man reguläre Ausdrücke nutzen. Die Syntax dafür können Sie unter folgenden Link sehen:
http://www.modrewrite.de/mod_rewrite.syntax.phtml

Laden Sie die .htaccess-Datei anschließend auf den gewünschten Bereich Ihres Servers hoch.

 

Beispiele

1. Um Ihren Besuchern nicht zu zeigen, dass Sie sich auf einer dynamischen Seite befinden, könnte man ihn so umleiten:

 

RewriteEngine on
RewriteRule index.html$ index.php

 

Nun wird jede Anfrage, bei der index.html am Ende steht, auf index.php umgeleitet.


2.
Eine andere Möglichkeit, damit der Seitenbesucher nicht erfährt, dass er auf einer dynamischen Seite ist, könnte so aussehen:

 

RewriteEngine on
RewriteRule ^(.*).html$ $1.php

 

Nun wird jede Anfrage die z. B. mit irgendwas.html endet auf irgendwas.php umgeleitet.


3.
Um Ihre URLs für Suchmaschinen zu optimieren, können Sie Übergabeparameter (z. B. die Seitenzahl) auch als Teil des Dateinamens verarbeiten:

 

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

 

Jede Anfrage die mit seite_ anfängt, dann ein oder mehrere Zahlen (ZAHL) hat und mit .html endet, wird auf seite.php?id=ZAHL umgeleitet.

Achtung Wichtig
Alle .htaccess Regeln, egal welcher Art, wirken sich auf alle Unterverzeichnisse aus.

Beispiel
Im Root-Verzeichnis (/) wird die RewriteEngine auf on geschaltet. Somit ist auch im Verzeichnis /wunschname/bilder die RewriteEngine aktiv.
Um die RewriteEngine in den unteren Verzeichnissen auszuschalten, bedarf es in der .htaccess-Datei der Unterverzeichnisse lediglich einer Zeile:

 

RewriteEngine Off

 

Abweichendes Heimatverzeichnis

Ist das Heimatverzeichnis einer Domain nicht das Rootverzeichnis (/), so muss dies in der RewriteRule berücksichtigt werden, da die Regeln ansonsten nicht anwendbar sind. Ein relativer Pfad zur Zieldatei muss durch einen absoluten Pfad ausgehend vom Einstiegsordner (Heimatverzeichnis der Domain) angegeben werden.

 

Beispiele
Liegt die Zieldatei (z. B. index.php) direkt im Rootverzeichnis, so muss lediglich ein / vor dem Dateinamen eingefügt werden.

 

RewriteRule test1.html$ /test1.php

Liegt die Zieldatei hingegen in einem Unterordner des Heimatverzeichnisses, so ist der komplette Pfad beginnend ab dem Rootverzeichnis vor dem Dateinamen einzufügen.

 

RewriteRule test1.html$ /untervz1/untervz2/test1.php


Möchten Sie das Heimatverzeichnis ändern, können Sie dies im STRATO Server-Login in der Domainverwaltung unter dem Menüpunkt Heimatverzeichnis für jede Domain durchführen.

 

 

Weiterführende Informationen

Weitere Informationen zu mod_rewrite finden Sie unter folgenden URLs:


http://de.selfhtml.org/servercgi/server/rewrite.htm

Die offizielle Dokumentation befindet sich unter:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Einige Beispiele finden Sie unter:
http://de.wikipedia.org/wiki/Rewrite-Engine

×
War dieser Artikel hilfreich?    Ja / Nein