Aquí podría ser tu PUBLICIDAD


Reescritura de URL ASP.NET

votos
30

¿Cómo reescribo las URL en ASP.NET?

Me gustaría que los usuarios puedan acceder a http://www.website.com/users/smith en lugar de http://www.website.com/?user=smith

Publicado el 05/08/2008 a las 14:14
fuente por usuario GateKiller
En otros idiomas...        العربية       

4 respuestas

votos
23

Pruebe el Rewriter de Url de Managed Fusion y el Proxy inverso:

http://urlrewriter.codeplex.com

La regla para reescribir esto sería:

# clean up old rules and forward to new URL
RewriteRule ^/?user=(.*)  /users/$1 [NC,R=301]

# rewrite the rule internally
RewriteRule ^/users/(.*)  /?user=$1 [NC,L]
Respondida el 05/08/2008 a las 02:18
fuente por usuario Nick Berardi


Aquí podría ser tu PUBLICIDAD


votos
20

Scott Guthrie explica cómo hacerlo nativamente en .Net bastante extensamente aquí .

He usado el enfoque httpmodule y funciona bien. Básicamente es lo que ManagedFusion está haciendo por ti.

Respondida el 05/08/2008 a las 02:28
fuente por usuario brendan

votos
5

Microsoft incluye ahora una URL oficial Reescribiendo Módulo para IIS: http://www.iis.net/download/urlrewrite

Es compatible con la mayoría de los tipos de reescritura incluyendo el establecimiento de variables de servidor y comodines.

También existirá en todas las instancias web Azure fuera de la caja.

Respondida el 01/10/2010 a las 12:52
fuente por usuario Sam Saffron

votos
4

He utilizado un httpmodule para la reescritura url de www.urlrewriting.net con gran éxito (aunque creo que una versión mucho más simple)

Si tiene muy pocas reglas de reescritura reales, entonces las asignaciones de URL integradas en .NET 2.0 son probablemente una opción más fácil, hay algunas versiones de éstas en la web, la 4guysfromrolla parece bastante exhaustiva, pero como puede ver, no lo hacen. admite que las asignaciones de expresiones regulares son, como tales, bastante inútiles en un entorno dinámico (suponiendo que "smith" en su ejemplo no es un caso especial, estas no servirían de nada)

Respondida el 11/08/2008 a las 02:44
fuente por usuario Justin Wignall