А что трудного-то?
На странице выбора статьи проверяете текущий запрос заканчивается на html или нет, если на html, то регуляркой , что-то типа ~^\d-(.*?)\.html$~ , выдергиваете алиас и соответственно саму статью по алиас, далее можем перенаправить на новую ссылку, либо на старой же оставить
А если у вас есть две статьи с одинаковыми алиасами, то тут уже по сложнее, можете либо на первую попавшуюся отправить либо создать промежуточную страницу, где пользователь сможет выбрать на какую из перейти(естественно поисковики тоже перейдут по новым ссылкам и переиндексируют).
Простейшая задача, если мозгов не хватает, то на фриланс