Назад | Перейти на главную страницу

Как лучше всего организовать переадресацию 60 000 «301» и «200» для одного веб-сайта?

Набор редиректов не статичен. Мы будем добавлять и удалять редиректы более десятка раз в день.

Мы используем CMS (DotNetNuke) со встроенной возможностью перенаправления, но различные кеши необходимо перестраивать каждый раз при добавлении или удалении перенаправления, что вызывает некоторые болезненные проблемы с производительностью при добавлении или удалении перенаправлений.

Я посмотрел на перенаправление IIS. Однако эти перенаправления хранятся в файле web.config для сайта. Кажется неправильным изменять web.config до дюжины раз каждый день во время работы сайта с перенаправлениями. Также кажется неправильным иметь так много перенаправлений в одном файле web.config.

Я подозреваю, что может быть альтернативный метод хранения перенаправлений IIS или, возможно, есть другой метод, о котором я не знаю.

Для тех, кто хочет, возможно, убедить меня в том, что нам не нужно так много перенаправлений, я надеюсь, вы правы. Вот некоторые подробности:

У нас есть 30 000 старых страниц продуктов, каждая со своим собственным URL.

У нас есть 30 000 URL-адресов новых продуктов.

У нас есть 1 новая страница продукта с параметром строки запроса. Products.aspx? ProdId = 123456

Процесс перенаправления будет выглядеть примерно так:

 OldProductURL1.PHP --301--> Products.aspx?ProdID=1 --200--> NewProductURL1.aspx

или

 OldPRoductURL1.PHP --301--> NewProductURL1.aspx  

(пока на сервере работает Products.aspx? ProdID = 1 для обслуживания этой страницы)

Есть ли хороший метод для достижения этой цели, который позволит нам добавлять и удалять перенаправления без значительного влияния на производительность живого сайта?

Рассматривали ли вы пользовательский обработчик ошибок 404 в IIS для перевода после того, как страница не найдена? Затем вы можете выполнить поиск в БД или что-то еще, что необходимо для перевода.