Я предлагаю вам на самом деле включать идентификатор в URL, перед названием части, и игнорировать само название при маршрутизации. Таким образом, ваш URL-адрес может стать
/news/210/joe-goes-to-town
Это именно то, что делает переполнение стека, и оно работает хорошо. Это означает, что заголовок может измениться без разрыва ссылок.
Очевидно, что точные данные будут зависеть от того, какую платформу вы используете - вы не указали - но основные шаги будут:
- При создании ссылки, взять название статьи и превратить его в что-то URL-friendly; вы, вероятно, хотите удалить все знаки препинания, и вам следует рассмотреть акцентированные символы и т. д. Имейте в виду, что название не обязательно должно быть уникальным, потому что у вас тоже есть идентификатор
- При обработке запроса на что-либо, начиная с/news, выполните следующую часть пути, проанализируйте его как целое и загрузите соответствующую статью.
Какой сервер вы используете? Используете ли вы систему CMS или серверные скрипты? – Guffa
Является ли сайт построенным в HTML/PHP или вы используете Joomla/Wordpress? Можете ли вы закодировать на PHP или ищете плагин? –