dedlfix: lesbare URL

Beitrag lesen

Hi!

Also das Problem liegt darin, dass ich eben keine lesefreundliche URL habe, die reingeht.

Wozu genau brauchst du die (oder meinst, so eine zu brauchen)?

Ich habe im Moment Links, die per index.php?id=195 auf irgendeinen Datensatz verweisen. Aber ich glaube wir kommen dem Problem näher! Wenn ich Dich richtig verstehe, dann steht bereits in meinem Link ganz einfach zukünftig nicht die ID, sondern der ausgeschrieben Name oder was auch immer.

Ja, wenn es denn so sein soll.

Und der wird dann in die ID umgesetzt per mode_rewrite.

Nein, das geht nicht, weil mod_rewrite nicht weiß, welcher Name welche ID ergeben muss. Es gibt mit RewriteMap zwar die Möglichkeit, ein eigenes Script einzubinden, dass dann auch eine Datenabfrage machen kann. Aber das ist sehr ineffizient. Das Map-Script müsste den Namen auswerten und die zugehörige ID suchen. Dein Script holt dann anhand der ID den selben Datensatz noch einmal, um damit zu tun, was immer du damit tun willst. RewriteMap kann auch eine Übersetzungsliste in einer Textdatei befragen, aber das macht die Sache nicht besser. Wie auch immer, mod_rewrite hilft dir nicht (oder nur sehr umständlich), aus dem Namen eine ID zu generieren. Wenn du wirklich nicht mit der ID zufrieden bist, wäre die einzig sinnvolle Lösung, direkt anhand des Textes den Datensatz aufzurufen.

Hmm, das sollte gehen .. nur was, wenn der Name nicht ganz für die Identifizierung ausreicht, ich also doch die ID benötige? Kann ich die dann irgendwo noch 'unsichtbar' anhängen?

Das Problem der Eindeutigkeit hättest du gar nicht, wenn du gleich die ID nähmest. Sie an den Namen noch dranzuhängen wäre aus URL-Sicht so sinnvoll, wie den Namen gleich wegzulassen. "Unsichtbar" gibt es in einer URL nicht.

Lo!