Ya no esta de moda el utilizar urls del tipo: http://www.miportal.com/pagina.aspx?id=345, ahora lo «cool» es: http://www.miportal.com/mi-titulo-de-pagina-amigable.aspx (lo ideal seria omitir .aspx).
Para realizar este tipo de redirección, utilizo el siguiente método (basado en proceso de la petición en el BeginRequest, de la página):
Dispongo de un portal (desarrollado por mi), llamado FSPortal, que básicamente, lo que hace es almacenar todas las páginas estáticas en base de datos. Esto me posibilita que mediante un editor online (FckEditor), pueda dar a mis clientes la posibilidad de editar sus páginas online. Entre otros muchos parámetros, se puede dar un título «amigable» a las páginas. Esto, a parte de otras muchas ventajas, me permite realizar búsquedas en el contenido.
Para realizar la redirección, lo que hago es utilizar este sencillo método: http://www.codeproject.com/KB/aspnet/urlrewriter.aspx
Creando una regla del tipo:
<rule>
<url>(.*).aspx</url>
<rewrite>procesar.aspx?tit=$1</rewrite>
</rule>
De esta manera, proceso todos los nombres de url amigables, con la pagina procesar.aspx, que básicamente lo que hace es buscar en la base de datos una página con dicho titulo, y mostrándola.
Uno de los mayores problemas que tiene este sistema, es que no permite la utilización de páginas sin extensión. En este post hablo de como utilizar la redirección con páginas sin extensión, pero no es muy recomendable.
También existen otras alternativas de terceros como por ejemplo:
La pega de estas opciones, es que debes tener control total del servidor IIS para instalar dichos componentes.