mod_rewrite / lesbare urls
Svensson
- programmiertechnik
Hallo Zusammen
Ich hoffe ich kann hier Hilfe finden, ich zerbrech mir seit Stunden den Kopf.
Es geht um die lesbarkeit meiner URL's. Ich habe eine Website für unseren verein erstellt.
Nun zu meinem Problem.
Die Website wird mit der Index.php aufgebaut.
Den jeweiligen Inhalt hole ich mir per Datenbank über Files die ich include.
Die Datenbankabfrage gestalte ich dann durch $_GET Variablen.
Das sieht dann zB so aus:
www.meineseite.ch/index.php?tools=gbook
Mit diesem Link include ich die gbook.php datei, welche in der Datenbank folgendermassen gefunden wird:
Select * From t_navi where tool = '$tools'
Ich halte mich gerade kurz mit diesen Aussagen, da diese ja nur zur veranschaulichung dienen.
Wenn ich dann zB einen neuen Gästebucheintrag machen will, mache ich das über die URL:
www.meineseite.ch/index.php?tools=gbook&nav=add
Nungut, ich habe alles selbst gecoded, da es mir sehr viel Spass macht, auch wenn es 1000 Vorlagen gibt. Daher habe ich eventuell auch noch gewisse Techniken vergessen etc.
Zu meiner Hauptfrage jedoch.
Wie muss ich die .htaccess Datei aufbauen, damit ich im Browser zu
www.meineseite.ch/Gaestebuch navigieren kann, die Seite dann jedoch
www.meineseite.ch/index.php?tools=gbook
intepretiert? Oder
www.meineseite.ch/Spieler
zu
www.meineseite.ch/tools=member
Geht das in dieser Art überhaupt?
Muss ich da die "übersetzungen" direkt in der .htaccess machen?
Für einen Tipp wäre ich schon sehr froh, wie ich das Ganze am besten Angehe.
Ich würde es am liebsten dynamisch gestalten können, ohne die .htaccess aktualisieren zu müssen.
Ich freue mich auf Tipps & Tricks von Profis.
Hi!
Wie muss ich die .htaccess Datei aufbauen, damit ich im Browser zu
www.meineseite.ch/Gaestebuch navigieren kann, die Seite dann jedoch
www.meineseite.ch/index.php?tools=gbook
intepretiert? Oder
www.meineseite.ch/Spieler
zu
www.meineseite.ch/tools=member
Zunächst, verwende bitte nicht einfach URLs, die, wie in diesem Fall, jemand anderem gehören. Für Beispielzwecke sind extra ein paar Domains reserviert worden.
Geht das in dieser Art überhaupt?
Es geht, aber da du keine 1:1-Musterübersetzung hast, müsstest du für jede Umsetzung einen eigenen Eintrag erstellen. Dies gilt besonders auch für jede Anzahl von Parametern. /Gaestebuch wäre ein Eintrag, /Gaestebuch/hinzufuegen noch einer.
Muss ich da die "übersetzungen" direkt in der .htaccess machen?
Nein. In deinem Fall wäre es wohl besser, eine generische Umleitung auf die index.php zu erstellen, innerhalb dieser die aufgerufene URL auszuwerten und dann an die den Request abarbeitenden Instanzen weiterzuleiten, also eine Art Router zu erstellen.
Ich würde es am liebsten dynamisch gestalten können, ohne die .htaccess aktualisieren zu müssen.
"Dynamisch" gibt es beim Programmieren nicht. Mit meinem Vorschlag musst du eine Übersetzungstabelle oder -vorschrift in den Router einbauen und pflegen.
Lo!
hi,
Die Datenbankabfrage gestalte ich dann durch $_GET Variablen.
Warum so umständlich? Mach doch die DB-Abfrage anhand des URL, der requested wurde (ohne Parameter). Dann brauchst Du eine Rewrite-Condition für die Ausnahmen und eine Regel, die jeden anderen Request auf Dein Script umschießt, fertig.
Hotti