Перенос / Перенаправление частей моего сайта ASP.NET в новую версию - PullRequest
1 голос
/ 05 июля 2019

В настоящее время я поддерживаю существующий веб-сайт ASP.NET MVC, написанный другим разработчиком.Многие части сайта были обновлены до более современных фреймворков, и я хотел бы перенаправить пользователей на новый сайт, где это возможно.Тем не менее, есть еще несколько страниц, которые придется продолжать использовать на старом сайте, пока я не смогу завершить миграцию.

Сервер - Windows Server 2008, IIS 7.0, .NET 4.5

Допустим, старый URL-адрес: https://www.companysite.com/

Новый сайт находится в виртуальном каталоге по адресу: https://www.companysite.com/thenewsite/

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

Например, я бы хотел перенаправить: https://www.companysite.com/contracts/ на https://www.companysite.com/thenewsite/contracts/

Но я не могу перенаправить каждый путь глобально.Например: https://www.companysite.com/shipping/ еще НЕ МОЖЕТ перенаправить на новый сайт, так как я еще не создал / thenewsite / shipping /.

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

  • Добавьте Response.Redirect или html meta meta для определенных страниц старого сайта (много усилий)
  • Используйте модуль перезаписи URL, с пользовательским правилом (не уверен, как это сделать)

Надеюсь, это имеет смысл.Буду признателен за любую помощь или предложения.

1 Ответ

1 голос
/ 05 июля 2019

Для IIS 7.0 вы, вероятно, захотите использовать https://www.iis.net/downloads/microsoft/url-rewrite

Есть и другие, и это зависит от версии IIS.Раньше я использовал Helicon Rewrite, и поскольку плагин ISAPI находился в начале конвейера запросов, и это важно для производительности, вы не хотите, чтобы запрос попадал в контроллер, пока он не ошибался, вы бы хотели его перехватить наМаршрутизация не позднее.

Какой бы инструмент перезаписи URL вы ни использовали, ключ должен заставить их вернуть правильный HTTP-код.

Перенаправление 301 - это постоянное перенаправление.Он кэшируется, и любые закладки для этого URL должны быть обновлены, чтобы указывать на новый URL.Перенаправление 302 - это временное перенаправление.Переадресация 303 аналогична переадресации 302, за исключением того, что последующий запрос теперь явно заменен на запрос GET и подтверждение не требуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...