ASP.Net MVC - перехват определенных URL для перенаправления 301 - PullRequest
0 голосов
/ 30 октября 2009

Я перехожу со старого дизайна сайта на новый дизайн с новыми URL.

Все предыдущие имена страниц были статическими файлами с именами PageXX.html, PageX.html, Index.html - где X - это число.

Мой сайт теперь динамический, но я хочу перехватить эти 3 входящие URL-адреса, а затем попытаться перенаправить на определенную новую страницу (301 Перенаправление), иначе отправить их на домашнюю страницу.

Я делаю все это в Global.asax или просто перехватываю эти URL-адреса в Global.asax, а затем перенаправляю их в действие и выполняю перенаправление 301 в действии?

Любые примеры кода очень помогут!

Спасибо

РЕДАКТИРОВАТЬ: Я думаю, что нужно сделать, это перехватить маршруты в Global.asax, а затем отправить их в действие, которое определит, куда отправлять пользователя, т.е. аналогичную страницу на новом сайте, иначе я отправлю на домашнюю страницу.

Ответы [ 2 ]

3 голосов
/ 02 ноября 2009

Правильно, просто сделайте это в конфигурации ваших маршрутов (обычно в global.asax). Вы можете установить их как статические особые случаи.

routes.MapRoute("Page3", 
            "SomeURL/Page3.html",
            new { 
                  controller = "SomeController",
                  action = "SomeAction",
                  page = "2"
                });
0 голосов
/ 29 января 2010

Для страниц PageXX.html, PageX.html, Index.html вы также можете выполнять сопоставление на основе регулярных выражений. Это позволит вам поддерживать все это с помощью одного маршрута.

...