• Super User

    URL rewite in asp.net (con OnBeginRequest)

    Dopo numeroswe ricerche sono riuscito a trovare sul web (non ricordo dove altrimenti ne avrei citato la fonte) un modo semplicissimo per fare url-rewrite in asp.net 1.1 (credo funzioni anche con il framework 2.0)
    Scopo tradurre http://localhost/WebApplication1oo/articolo.aspx?codice=001
    in http://localhost/WebApplication1oo/articolo001.aspx

    Occorre modificare solo il file Global del progetto inserendo questo codice :

    Sub Application_OnBeginRequest(ByVal sender AsObject, ByVal e As EventArgs)
    Dim context As HttpContext = HttpContext.Current
    Dim oldPath AsString = context.Request.Path.ToLower()
    Dim idx AsInteger = oldPath.IndexOf("articolo")
    If idx <> -1 Then
    Dim fine AsInteger = oldPath.IndexOf(".aspx")
    Dim codice AsString = oldPath.Substring(idx + 8, fine - (idx + 8))
    context.RewritePath("articolo.aspx?codice=" + codice)
    EndIf
    end sub

    Ho fatto qualche test e pare funzionare correttamente.
    Se qualcuno rileva delle controindicazioni me lo fa sapere?:?:():