dedlfix: mod_rewrite Konzept SEF

Beitrag lesen

echo $begrüßung;

Du gibst im Browser folgend URL ein:
  /haus/kueche/tisch.html
Intern soll die URL mit mod_rewrite hierhin umgeleitet werden:
  /index.php?a=1&b=2&c=3

Das ist im Prinzip nicht nötig. Von mod_rewrite ist es zwar machbar, aber nur wenn man RewriteMap mit einem "External Rewriting Program" nutzen kann, was aber beim Massenhoster im Allgemeinen nicht möglich ist.

Nur die Datenbank selber kennt die ID's und weiss, dass z.B. der Tisch die ID 3 besitzt. Folglich muss ich noch eine Datenbankabfrage einbauen.

Das ist auf mod_rewrite-Ebene nicht unbedingt nötig. Alternativvorschlag: Mit mod_rewrite lässt du nur sämtliche Zugriffe, die keine real existierenden Dateien und Verzeichnisse abfragen (Stichwort RewriteCond), auf die index.php umleiten. Das eingegebene /haus/kueche/tisch (das .html würde ich weglassen) hängst du an das index.php an. Es ergibt sich dann /index.php/haus/kueche/tisch. Der Apache findet die index.php und übergibt die Abarbeitung des Requests an ebendieses Script. Innerhalb dessen kannst du mittels $_SERVER['PATH_INFO'] auf das Anhängsel zugreifen, und deine IDs ermitteln (falls das wirklich notwendig ist. Möglicherweise kann man direkt die Stringwerte in eine (verknüpfte) SQL-Abfrage einbauen. (Absichern gegen SQL-Injection nicht vergessen))

echo "$verabschiedung $name";