Anche se sarà implementato in maniera più semplice dalla prossima versione 2.0 di ASP.NET, il Framework ci mette a dispozione vari metodi per creare degli "alias" per il nome delle nostre pagine.
Ma che cosa si intende per alias?
Se ipoteticamente nel nostro sito per la visualizzazione dei dettagli di determinati articoli dobbiamo richiamare la pagina passando dei parametri, dovremo richiamarla con questo formato:
http://www.nomesito.xxx/articolo.aspx?codice=001
Niente di complesso, ma possiamo fare in modo di renderlo più semplice, in modo che possa essere ricordato più facilmente dai nostri visitatori (e abbia un rank di valutazione maggiore in motori di ricerca come Google):
http://www.nomesito.xxx/articolo001.aspx
http://www.nomesito.xxx/001.aspx
Per realizzare questo abbiamo a disposizione numerose tecniche, come l'utilizzo degli HttpHandler. Questa tecnica, anche se molto potente, comporta delle piccole complicazioni, come il dover modificare il web.config per l'aggiunta dell'handler personalizzato e la creazione di una classe apposita.
Esiste una tecnica molto più semplice che comporta la sola modifica del global.asax, sfruttando l'evento Application_OnBeginRequest:
Sub Application_OnBeginRequest(ByVal sender As Object, ByVal e As EventArgs) Dim context As HttpContext = HttpContext.Current Dim oldPath As String = context.Request.Path.ToLower() Dim idx As Integer = oldPath.IndexOf("articolo") If idx <> -1 Then Dim fine As Integer = oldPath.IndexOf(".aspx") Dim codice As String = oldPath.Substring(idx + 8, fine - (idx + 8)) context.RewritePath("articolo.aspx?codice=" + codice) End If End Sub
Inserito questo codice nel global.asax, invece di chiamare la nostra pagina di esempio per i dettagli dell'articolo, potremo usare questo formato:
http://www.nomesito.xxx/articolo001.aspx
Questa tecnica comporta un solo problema, se così vogliamo chiamarlo: utilizzando in questa pagina dei PostBack, questi avranno l'effetto di riportare il client sull'URL originale.
Vedremo in un prossimo script una tecnica che evita questo problema.
Approfondimenti
#537 - Staticizzare gli URL con un HttpHandlerhttps://www.aspitalia.com/liste/usag/script.aspx?ID=537
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.