Сейчас я делаю что-то похожее, перевожу огромный статический магазин html для запуска на django (это больно и кроваво).
Наше решение не является чем-то особенно элегантным. Во время миграции каждой страницы мы отмечаем старый URL, затем новый URL и добавляем их в базу данных перенаправления. После того, как мы перенесли весь наш контент в новую структуру backend и url, мы запускаем скрипт, который идентифицирует все ссылки в документе с помощью этих селекторов xpath:
//a/@href
//img/@src
Затем мы извлекаем перенаправления из нашей таблицы перенаправлений и заменяем ссылки приведенными ниже регулярными выражениями.
#escape special characters to avoid problems with the regex
link = link.replace('#', r'\#')
link = link.replace('.', r'\.')
link = link.replace('/', r'\/')
link = link.replace(':', r'\:')
#compile a regex, using the source link, and replace all existing links
repl_regex = r'href\s{0,}\=[\s\"\']{0,}(%s)[\s\"\']{0,}'%link
markup = re.sub(repl_regex, 'href="%s"'%dst_url, markup)
#repeat for images
repl_regex = r'src\s{0,}\=[\s\"\']{0,}(%s)[\s\"\']{0,}'%link
markup = re.sub(repl_regex, 'src="%s"'%dst_url, markup)
#Let me know if you have any questions, the above is written in python
#and it sounds like you're using php and a .net language.
Теперь, хотя этот метод, вероятно, требует больше усилий, чем вы хотели бы, и потребует немного больше предварительной подготовки, он имеет два преимущества:
1) Сравнив каждую ссылку в документе с таблицей перенаправления, вы сможете легче идентифицировать отсутствующие страницы / отсутствующие перенаправления
2) SEO. Вместо того, чтобы гуглбот пересматривал весь ваш сайт, просто предоставьте 301 переадресацию на вашу таблицу перенаправлений
Дайте мне знать, если у вас есть какие-либо вопросы.