phpbar.de logo

Mailinglisten-Archive

[php] mod_rewrite

[php] mod_rewrite

LB BL lsblsb at gmx.de
Die Mai 8 08:59:23 CEST 2007


hallo,

ich möchte mit mod_rewrite url's umschreiben, stosse dabei jedoch auf folgendes "problem":

ich habe eine klassische datenbank-abfrage, über eine id erhalte ich die notwendigen informationen über zb. ein produkt. eine php-url könnte dann also so aussehen: 
www.domain.de/index.php?productId=1

nun möchte ich aber die url für den benutzer so gestalten, dass bestimmte produkt-bezogene begriffe, die ich aus der datenbank entnehmen kann, nachher in der url stehen. man nehme an, das produkt hat einen namen und eine abkürzung, dann möchte ich über _ausschließlich_ die folgende beispielhafte url auf das produkt leiten:
www.domain.de/produktAbkuerzungAusDB/produktNameAusDB.html

falls ohne productId nicht möglich, müsste diese noch rein, bsp.weise:

www.domain.de/produktAbkuerzungAusDB_produktId/produktNameAusDB.html

mein eigentliches problem ist an der sache:

- ich möchte wirklich nur eine gültige url erlauben
- ich will trotzdem nicht jede einzelne url-weiterleitung per rewriteRule definieren, sondern das ganze möglichst doch irgendwie allgemeiner erschlagen

die einzigste lösung die ich momentan dafür sehe, ist, per rewriteMap in Verbindung mit einem External Rewriting Program (php) bei jedem request die url auf grundsätzliche gültigkeit zu checken, bei gültigkeit eine datenbankverbinung aufzubauen, nachzuschauen ob es ein produkt mit diesem namen (falls eindeutig) und dieser abkuerzung (und dieser id gibt), und falls ja, die originale gültige url zurückzugeben auf die mod_rewrite dann weiterleiten soll. das könnte aber einen ziemlichen overhead erzeugen und ich denke es muss doch noch eine einfachere möglichkeit geben?

mit einer rewriteMap per txt-File habe ich es auch schon mal versucht, dabei muss ich aber fest url's eintragen, und wenn sich doch mal eine id in der db ändert oder der aufbau der php-urls ist das auch wieder aufwendig..

viell. habt ihr erfahrung + ideen?

lg
lars
-- 
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail

php::bar PHP Wiki   -   Listenarchive