ASP.Net MVC - Захват определенных URL -адресов для перенаправления 301
-
22-07-2019 - |
Вопрос
Я перехожу от старого дизайна сайта к новому дизайну с новыми URL-адресами.
Все предыдущие названия страниц были статическими файлами с именами PageXX.html, PageX.html, Index.html - где X - число.
Мой сайт теперь динамичен, но я хочу перехватить эти 3 входящих URL, а затем попытаться перенаправить на определенную новую страницу (301 перенаправление), иначе отправлю их на домашнюю страницу.
Должен ли я делать все это в Global.asax или я просто перехватываю эти URL-адреса в Global.asax, а затем перенаправляю их в Действие и делаю 301 перенаправление в Действии?
Любые примеры кода очень помогли бы!
Спасибо
Редактировать: Я думаю, что все, что нужно сделать, это перехватить маршруты в Global.asax, а затем отправить их в Действие, которое определит, куда отправить пользователя ie.аналогичную страницу на новом сайте я еще отправлю на главную страницу.
Решение
Правильно, просто сделайте это в своей конфигурации маршрутов (обычно в global.asax).Вы можете настроить их как статические особые случаи.
routes.MapRoute("Page3",
"SomeURL/Page3.html",
new {
controller = "SomeController",
action = "SomeAction",
page = "2"
});
Другие советы
Для страниц PageXX.html, PageX.html, Index.html вы также можете выполнять сопоставление на основе регулярных выражений.Это позволит вам поддерживать все это с помощью единого отображения маршрута.