Mod rewrite

Aus netcup Wiki
Zur Navigation springen Zur Suche springen

mod_rewrite

mod_rewrite ist ein Apache Modul für den Apache Webserver und dient der URL Manipulation. Mit der RewriteEngine des Apache-Webservers ist es möglich die angeforderte URL anhand von Regeln umzuschreiben (englisch: to rewrite). Basierend auf einem Parser für Reguläre Ausdrücke kann die angeforderte URL manipuliert werden.

Dies dient vorwiegend der Suchmaschinenoptimierung die heutzutage immer mehr Anhänger findet. Neben der Tatsache das Seiten "besser" in Suchmaschinen (Google, Yahoo, MSN Search, etc.) gelistet werden, sieht eine URL auch besser aus und ist ggf. leichter zu merken.

So kann man z.B. aus

http://meinedomain.tld/index.php?page=info

sowas machen

http://meinedomain.tld/informationen/

mod_rewrite installieren

Auf einem auf Debian basierendem System ist die Installation relativ einfach möglich:

apt-get install mod_rewrite

Dies installiert das Apache Addon mod_rewrite und aktiviert dieses im Regelfall.

Ggf. muss dieses noch mit folgendem Befehl manuell aktiviert werden:

a2enmod rewrite

Man wird nach der Installation darauf hingewiesen das der Webserver neugestartet werden muss.

Dies erfolgt in den meisten Fällen mit folgendem Befehl:

/etc/init.d/apache2 restart

mod_rewrite in Confixx aktivieren

Um mod_rewrite als Kunde im Confixxpanel zu aktivieren benötigt man die Nutzungsrechte für die sogenannten httpd Spezial Optionen. Diese findet man im Confixxpanel (v.2.3.4) unter Einstellungen nachdem man sich eingeloggt hat.

Dort kann man die Funktion mod_rewrite für eine oder alle Domains aktivieren.

Bei netcup hat man ab dem Paket Business1024 Zugriff auf diese Option.


mod_rewrite Funktion testen

Um festzustellen ob mod_rewrite aktiv ist kann man folgendermaßen Vorgehen.

Legen Sie einen Ordner test unterhalb einer Ihrer Domains an.

Darin erstellen Sie eine Textdatei mit folgendem Inhalt:

RewriteEngine On
RewriteRule ^ http://www.netcup.de [R,L]

Speichern Sie diese Datei nun unter dem Namen .htaccess im Verzeichnis test ab.

Rufen Sie nun Ihre Domain mit folgendem Parameter auf:

http://ihredomain.tld/test/1/
Hinweis: Der Ordner 1 darf nicht existieren! Die Datei .htaccess muss sich im Ordner test befinden.

Werden Sie beim Aufruf dieser Adresse auf die netcup Startseite umgeleitet, ist mod_rewrite eingerichtet, aktiv und funktioniert.


Hinweise zu mod_rewrite Regeln

Folgender Hinweis wurde uns zugesandt:

Je nach Distribution funktioniert das proxying mittels mod_rewrite ([P] oder [L,P] am ende der rewrite rule) in der Standardkonfiguration nicht. Dies kann jedoch mittels folgenden Befehlen im Verzeichnis \"/etc/apache2/mods-enabled/\" aktiviert werden:

ln -s ../mods-available/proxy.load proxy.load
ln -s ../mods-available/proxy_http.load proxy_http.load