Как настроить маршруты MVC для обработки старых перенаправлений классических страниц ASP - PullRequest
3 голосов
/ 26 июня 2009

Я перевожу классический сайт ASP на ASP.net MVC.
Есть ли способ перенаправить старый трафик на новый?

Пример: как перейти с:

www.mydomain.com/viewpage.asp?pageid=1234

до:

www.mydomain.com/page/1234

Ответы [ 2 ]

2 голосов
/ 26 июня 2009

Исследуя проблему, я обнаружил, что лучшим способом было:

  1. Использовать механизм перенаправления (например, urlrewriter.net )
  2. Перенаправление в методе BeginRequest

В итоге я использовал # 2, потому что для моего проекта это проще

Sub Application_BeginRequest(ByVal sender As Object, _
                                        ByVal e As System.EventArgs)  
   Dim fullOriginalpath As String = Request.Url.ToString.ToLower

   If (fullOriginalpath.Contains("/viewpage.asp?pageid=")) Then
      Context.Response.StatusCode = 301 'issue a permanent redirect'
      Context.Response.Redirect("/page/" + getPageIDFromPath(fullOriginalpath))
    End If

End Sub

Вы также можете использовать Context.RewritePath, но это не изменит URL в браузере клиента.

0 голосов
/ 26 июня 2009

Возможно, вам придется использовать response.redirect на странице ошибки 404 и отобразить введенную строку запроса на требуемую новую страницу. Обход, но работает

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