ASP.Net MVC - Захват определенных URL -адресов для перенаправления 301

StackOverflow https://stackoverflow.com/questions/1650882

Вопрос

Я перехожу от старого дизайна сайта к новому дизайну с новыми 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 вы также можете выполнять сопоставление на основе регулярных выражений.Это позволит вам поддерживать все это с помощью единого отображения маршрута.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top