Tutorial: Suchmaschinenfreundliche URL’s mit mod_rewrite erstellen

Gerade bei selbstprogrammierten Homepages lassen sich häufig dynamische URL’s wie index.php?id=34&page=2 vorfinden. Auch wenn Google URL’s wie article-34-2.html oder /dies-ist-die-ueberschrift-32/ nicht bevorzugt, machen suchmaschinenfreundliche dennoch URL’s Sinn, da sie zum einen von alternativen Suchmaschinen angenommen werden, zum anderen Keywords schon in der URL enthalten.

Die Technik
Dieses Tutorial erklärt Schritt für Schritt, wie Sie mit dem Apache Modul mod_rewrite aus GET-PHP-Seiten suchmaschinenfreundliche URL’s gestalten. Hierbei werden nicht die Dateinamen selbst geändern, sondern die URL wird manipuliert und durch die RewriteEngine des Apache-Webservers unsichtbar umgeleitet.
Sie benötigen in jedem Fall .htaccess-Datei, die Sie in das Verzeichnis abspeichern, in dem später die Dateien mit suchmaschinenfreundlichen URL’s gespeichert werden sollen. Am einfachsten erzeugen Sie diese über einen simplen Editor, in dem Sie eine Datei unter .htaccess abspeichern.

Beispiel 1: index.php?id=14 in index_14.html abändern
Angenommen, Sie lesen über den GET-Parameter ‘id’ einzelne Artikel in der Datei index.php aus. Mit folgenden Zeilen Code in der .htaccess Datei können Sie beispielsweise die suchmaschinenfreundliche URL index_14.html generieren.

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

Was wird gemacht? In der ersten Zeile aktivieren Sie die ReWrite-Engine, in der zweiten Zeile regeln Sie folgende Regel fest: die Endung ?id=X in der Datei index.php wird in _x.html abgeändert. Das war’s schon.

Beispiel 2: datei.php in datei.html abändern
Ebenfalls ist es möglich, aus .php-Dateien vermeindliche .html-Dateien zu generieren.

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

Hierbei wird ebenfalls in der ersten Zeile die Rewrite-Engine aktiviert, in der zweiten Zeile wird dann festgelegt, dass alle .php-Dateien auch über die Endung .html erreichbar sind. Dieses Beispiel ist gerade dafür hilfeich, um .html-Dateien vorzutäuschen, trotzdem alle PHP-Funktionen – wie etwa Include – nutzen zu können.

Sie sehen: Mit mod_rewrite lassen sich moderne URL-Strukturen kinderleicht generieren, es ist aber noch viel mehr möglich. Eine Übersicht über den Syntax finden Sie hier, weitere Beispiele können Sie hier betrachten.

Tags: ,

Leave a Reply