usando UrlRewriting :D

Hace tiempo que tenía un post en la cola, sobre el uso URL Rewriting en ASP.NET, la mayoría de ejemplos se basan en crear un nuevo HttpModule en ASP.NET, leer este artículo sobre Http Handlers y Http Modules: HTTP Handlers and HTTP Modules in ASP.NET.

Como decía, la solución más común es crear un nuevo Http Module, me animé por el http://www.urlrewriting.net/, ya que sólo adjuntas la dll, que contiene el nuevo HttpModule, lo registras en el web.config, agregas la siguientes configuración:

   1: <urlrewritingnet rewriteOnlyVirtualUrls="true" 
   2:                    contextItemsPrefix="QueryString" 
   3:                    defaultPage="default.aspx" 
   4:                    defaultProvider="RegEx" 
   5:                    xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
   6:         <rewrites>
   7:             <add name="Rewrite" virtualUrl="^~/Noticias/ShowNoticia(.*).aspx" 
   8:            rewriteUrlParameter="ExcludeFromClientQueryString" 
   9:            destinationUrl="~/Noticia/vernoticia.aspx?codNot=$1" 
  10:            ignoreCase="true"/>
  11:         </rewrites>
  12:     </urlrewritingnet>

Y listo, ahora ya tienes lo siguiente:

Esto es lo más simple que podemos hacer, ya que con expresiones regulares se pueden hacer otras marcianadas para ocultar la identificación de un posible parámetro.

Algunas de las features de http://www.urlrewriting.net/, son las siguientes:

  • Rewriting Urls based on regular expressions
  • Support for Themes and Master Pages
  • Support for OutputCacheing
  • Use in medium trust level environments (shared hosting) possible
  • Consistent Url after post back
  • Adding own rewrite rule providers possible
  • Redirects (also permanent) to other domains or websites possible
  • Support for Cookie less Sessions
  • Adding rewrite rules on runtime
  • Very easy installation and use

La documentación, sobre todo los elementos disponibles en el web.config, lo encontramos en el siguiente link: UrlRewritingNet.UrlRewrite – Configuration.

Por cierto en ASP.NET 2.0 tenemos URL Mapping, pero como dicen en el artículo con la limitante de no poder usar expresiones regulares, ah y no se pierdan esta entrada del gran ScottGu’s: Tip/Trick: Url Rewriting with ASP.NET.

Saludos,

Post cruzado

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *