Исследуя проблему, я обнаружил, что лучшим способом было:
- Использовать механизм перенаправления (например, urlrewriter.net )
- Перенаправление в методе 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 в браузере клиента.