Kategorien
Webdesign

Linkdesign für Apache Server

Gutes Linkdesign wird immer wichtiger, denn dynamische Seiten haben einen großen Nachteil. Die oftmals langen und komplizierten URLs sind nicht nur bei Suchmaschinen unbeliebt, sie lassen sich auch schlecht weitergeben oder ausdrucken. Abhilfe schafft eine…

Gutes Linkdesign wird immer wichtiger, denn dynamische Seiten haben einen großen Nachteil. Die oftmals langen und komplizierten URLs sind nicht nur bei Suchmaschinen unbeliebt, sie lassen sich auch schlecht weitergeben oder ausdrucken.

Abhilfe schafft eine Technik des Apache-Webservers namens „mod_rewrite“. Damit lassen sich virtuelle Adressen erstellen, die so als Datei gar nicht existieren. Der Server greift dann automatisch und für den Besucher unbemerkt auf die realen, komplizierten Adressen zu.

Das Prinzip ist einfach: Aus Adressen wie http://www.domain.de/seite.php?
rubrik=news&id=4&modus=2

wird ganz einfach und leicht zu merken

http://www.domain.de/news,4,2.html.

Dem Aussehen der neuen Links sind dabei kaum Grenzen gesetzt. Nehmen wir nun an, unsere bisherige Seite weist die folgende Struktur auf:

seite.php?rubrik=[VARIABLE 1]&id=[VARIABLE 2]&modus=[VARIABLE 3].

Mit den Variablen rubrik, id und modus werden beliebige Werte an die Datei seite.php übergeben. Der Inhalt der Variablen ist dabei egal. Unser Ziel ist es, daraus wie im Beispiel oben eine kurze URL in der Form [VARIABLE 1],[VARIABLE 2],[VARIABLE 3].html zu erzeugen.

Der Code für diese Umwandlung sähe wie folgt aus:

 RewriteRule ^(.*),(.*),(.*).html$ seite.php?rubrik=&id=&modus=

Zunächst folgt hinter dem Befehl Rewrite Rule das neue Design der Links, beginnend mit einem „^“, abschließend mit dem Dollar-Zeichen. „(.*)“ steht dabei für eine beliebige Variable. Dahinter folgt die URL der „reellen“ Datei. Die Variablen (.*) der neuen Datei werden hier in der Reihenfolge von Links nach Rechts mit bis (in unserem Beispiel) angegeben.

In der Adress-Leiste des Browsers bleibt beim Aufruf von news,4,2.html diese Adresse stehen. Der Server liefert jedoch den Inhalt von seite.php?rubrik=news&id=4&modus=2 aus.

Sowohl dem Browser, beziehungsweise dem Surfer wie auch den Suchmaschinen bleibt die wahre Adresse des Dokuments verborgen.

Beispiel-Inhalt der .htaccess-Datei:

      RewriteEngine on 
    RewriteRule ^seite(.*).html$ daten/seite.php?id=

    RewriteRule ^artikel/(.*)/seite(.*).html$ artikel.php?id=&seite=

    RewriteRule ^forum(.*)_(.*).html$ index.php?forum=&start= [L] 

So wird z.B. aus daten/seite.php?id=14 einfach seite14.html,

aus artikel.php?id=23&seite=2 wird artikel/23/seite2.html

und aus index.php?forum=2&start=450 wird: forum_2_450.html.

Von Nicolas Rotermund

Nicolas war Mitarbeiter im Dr. Web Team in unserer Ahrensburger und frühen Lübecker Zeit.

Schreibe einen Kommentar

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