Ich habe darüber nachgedacht, wie ich meine URLs schreiben sollte. Ich möchte, dass sie A) benutzerfreundlich sind B) SEO C) schnelle DB-Anfragen erlauben. Die Informationen, die ich habe, sind Benutzername, Kategorie, MediaId, Titel und andere Daten, die ich nicht für notwendig halte (Datum, Hash, etc).URL für eine Benutzer-Content-Website und SEO
Sollte ich den Benutzernamen vor oder nach dem Domain-Namen haben? (username.mysite.com/ vs mysite.com/username/).
Dann muss ich entscheiden, ob ich/media/The-Titel-Of-Media oder/media/mediaId/The-Titel-Of-Media (Medien mit 8 oder 16 Ziffern) oder jede Variante (z als Medien/Die-Titel-Of-Media-MediaId).
Will ich eine mediaId drin? Ich dachte, es könnte die DB-Abfrage beschleunigen, aber wenn ich es gegen den Benutzernamen validiere (so mysite.com/deceptiveUserName/media/mediaId/title ist nicht erlaubt) nur mit WHERE userid = expectedUserId kann eine Haarlinie weniger effizient als a sein Abfrage mit einem Primärschlüssel? Auch die Verwendung einer mediaId erlaubt es dem Titel, nicht eindeutig zu sein, aber wäre es eine schlechte Idee, Benutzern zu erlauben, nicht einfach alles mit einem eindeutigen Titel zu versehen? Wenn ich Lazyness erlaube, können Benutzer eine URL vorher und nachher betrachten und denken, dass sie der Name wegen des Titels sind. Oder wird es schwierig, einen Link in einer Linkliste zu finden?
-edit-
Hows diese. mysite.com/username/media/mediaId/title. Wenn sich der Titel ändert, kann ich die URL aktualisieren und die Links nicht brechen, da die mediaId immer noch dieselbe ist.
Es hilft, die verschiedenen Alternativen zu zeigen. –