Hallo zusammen!
Seit längerem frage ich mich schon, wie so große Webseiten wie z.B. hier gutefrage.net ihre (Suchmaschinen-freundliche) Links in der Datenbank verwalten. Jede Frage hat ja ihre eigene URL, diese Frage z.B. hat (wahrscheinlich) die URL gutefrage.net/frage/suchmaschinen-freundliche-url-gute-indexierung-oder-modrewrite.
Meine Frage: Wie machen die das? Tatsächlich mit ModRewite oder wie indexieren die Ihre Einträge in der Datenbank?
Ich kenn mich jetzt hauptsächlich mit MySQL & Co aus, gibt es da bessere Systeme?

Dies wird über mod_rewrite realisiert. Am Beispiel von gf.net wird der betreff der frage als key herangezogen. dieser bekommt dann auch einen index in der db. über mod rewrite wird dann z.b. aus frage/suchmaschinen-freundliche-url-gute-indexierung-oder-modrewrite ein index.php?frage=suchmaschinen-freundliche-url-gute-indexierung-oder-modrewrite daher werden auch leerzeichen als - maskiert ;)

Mod Rewrite ist es auf jeden Fall, da der "Ordner" ja auf eine Datei verweisen muss. Aber in der Datenbank muss der Eintrag natürlich mit der gleichen ID gespeichert werden, damit er ausgelesen werden kann. Bzw. zumindest eine Tabelle mit Zuordnungen.
Ja das habe ich mir auch schon gedacht dass es mod-rewrite sein muss, aber müßte bei den Zig-millionen Fragen auf gutefrage.net nicht die mod-rewrite anweisung so gigantisch groß sein dass es zu langsam geht?
svanny am 4. August 2009 10:11 Warum?
/frage/x-y-z
wird z.b. zu
/frage.php?id=x-y-z
generisch übermittelt.
(Auch wenn es hier wohl eher Ruby ist.)
labelloritter am 4. August 2009 10:12 es wird ja nicht für jede frage eine rewritecondition geschrieben, sondern nur anders formatiert. das kostet auch nicht mehr performance. da es nur eine rule ist.
Danke! Hat mir geholfen!
Also du meinst, dass die Datenbank den Text indexiert und nicht die URL auf eine numerische ID verweist?
naja der SELECT wird dann auf suchmaschinen-freundliche-url-gute-indexierung-oder-modrewrite abgesetzt und der recordset welcher dann zurück kommt, enthält dann die frage (mit. z.b. einer ID um einen JOIN auf eine andere tabelle zu machen und z.b. die antworten zu verknüpfen.
Danke! Hat mir geholfen!