Я думал о том, как мне написать свои URL. Я хочу, чтобы они: A) были дружественными к пользователю B) SEO C) позволяли быстро выполнять запросы к БД. У меня есть информация об имени пользователя, категории, идентификаторе носителя, заголовке и других данных, которые я не считаю необходимыми (дата, хэш и т. Д.).
Должен ли я иметь имя пользователя до или после имени домена? (username.mysite.com/ против mysite.com/username/).
Затем мне нужно решить, должен ли я использовать / media / The-Title-of-Media или / media / mediaId / The-Title-of-Media (носитель с 8 или 16-значным числом) или любые варианты (такие как СМИ / The-Title-Of-медиа-MediaId).
Хочу ли я, чтобы там был mediaId? я думал, что это может ускорить запрос БД, но если я проверяю его по имени пользователя (поэтому mysite.com/deceptiveUserName/media/mediaId/title не допускается), просто использование WHERE userid = Ожидаемый пользовательский интерфейс может быть менее эффективным, чем запрос с использованием первичного ключа? Кроме того, использование mediaId позволяет заголовку не быть уникальным, но будет ли плохой идеей позволить пользователям лениво не давать всем уникальный заголовок? если я позволю ленивость, пользователи могут посмотреть URL до и после и подумать, что это имя из-за названия. Или стало трудно найти ссылку в списке ссылок?
-edit-
Как это. mysite.com/username/media/mediaId/title. Если заголовок изменился, я могу обновить URL-адрес и не прерывать ссылки, так как mediaId остается прежним.