Управление перенаправлением URL-адресов при изменении красивых URL-адресов: лучшие практики
-
19-09-2019 - |
Вопрос
Каковы стандарты управления перенаправлением URL-адресов, если вы основываете свой URL-адрес на свойствах данных, которые могут меняться несколько раз, например «заголовок»?
У меня есть веб-сайт с большим количеством изображений, и я хочу, чтобы URL-адреса выглядели следующим образом:
http://www.mySite.com/images/132123/my-cool-image-title
Теперь предположим, что группа людей добавила изображение в закладки, и через неделю я изменил его на:
http://www.mySite.com/images/132123/renamed-image-title
Так что теперь должно быть перенаправление для людей, которые добавили в закладки старое...Теперь предположим, что это происходит в среднем 3 раза на изображение.Это означает, что у меня будет много-много перенаправлений на карту.Кажется, у меня была бы база данных перенаправлений.
Какова наилучшая практика в этом случае, если я хочу использовать красивые URL-адреса, а не основывать их на каком-то универсально уникальном идентификаторе, и что я хочу получить как можно больше преимуществ от SEO?
Решение
Ну, я не знаю, о чем было отрицательное голосование, мне кажется, это совершенно правильный вопрос.
Я бы порекомендовал, если вы заранее знаете, что воля меняете данные, их, вероятно, вообще не должно быть в URL-адресе.Если это требование (возможно, это важно для SEO, или вы создаете блог или что-то в этом роде, у вас есть несколько вариантов:
- Забудьте старый URL-адрес и используйте только новый.Наверное, это не лучший способ завести друзей ;)
- Сохраните старый URL-адрес и примите тот факт, что заголовок и URL-адрес сейчас не совпадают.Этого можно достичь, если каждое сообщение будет иметь
slug
поле, в котором хранится текст URL-адреса, отдельно от фактического заголовка сообщения. - Сохраните старый URL-адрес и разрешите использование новых.Для этого можно создать отдельную таблицу, которая сопоставляет слаги с сообщениями, причем каждое сообщение имеет один или несколько слизней.Таким образом, учитывается любое количество изменений.
Если требуются возможные изменения и обратная совместимость, я бы выбрал что-то вроде варианта 3.Конечно, лучше иметь его встроенным в ваше приложение, чем управлять заполнением файлов .htaccess или правилами перезаписи URL-адресов или чем-то еще.
Другие советы
проголосуйте против меня, если считаете мой ответ глупым.Меня это не очень волнует.
Не уверен, используете ли вы тот же подход, что и StacOverflow, если да, то в вашем случае пуля my-cool-image-title
и renamed-image-title
не имеет большого значения, пока вы сохраняете удостоверение личности 132123
одинаковый.Поэтому вам нужно беспокоиться о перенаправлении.При этом, с точки зрения пользователей социальных закладок, я думаю, что изменение ярлыка может вызвать путаницу, но это не проблема перенаправления.
Я ошибаюсь?