¿Cómo reescribo las URL en ASP.NET?Reescritura de URL de ASP.NET
Me gustaría que los usuarios puedan ir a URL http://www.website.com/users/smith en lugar de http://www.website.com/?user=smith
¿Cómo reescribo las URL en ASP.NET?Reescritura de URL de ASP.NET
Me gustaría que los usuarios puedan ir a URL http://www.website.com/users/smith en lugar de http://www.website.com/?user=smith
Prueba el Gestionado Fusión Url Regrabadora y proxy inverso:
http://urlrewriter.codeplex.com
La regla para volver a escribir esto sería ser:
# 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]
Una sugerencia: Ajustaría la primera RewriteRule para que parezca^/? users = (\ w *) para que http://www.website.com/?users=smith&day=monday no produzca http://www.website.com/users/smith&day=monday – Dscoduc
Esa es una buena idea y totalmente compatible con esta versión .NET. La intención original era hacer mi ejemplo compatible con mod_rewrite que no admite esa sintaxis. –
Esto es asombroso. –
Scott Guthrie explica cómo hacerlo de forma nativa en .Net bastante extensamente here.
He utilizado el enfoque httpmodule y funciona bien. Básicamente es lo que ManagedFusion está haciendo por ti.
¡Gracias, el blog de ScottGu fue perfecto! –
he utilizado un HttpModule para la reescritura de URL de www.urlrewriting.net con gran éxito (aunque creo que una gran parte anterior, versión más simple)
Si usted tiene muy pocas reglas de reescritura reales luego asignaciones de URL integradas en .NET 2.0 son probablemente una opción más fácil, hay algunos comentarios de estos en la web, el 4guysfromrolla parece bastante exhaustivo, pero como se puede ver, no son compatibles con las asignaciones de expresiones regulares, ya que son bastante inútiles en un entorno dinámico (suponiendo que " smith "en su ejemplo no es un caso especial, entonces estos no servirían de nada)
Microsoft ahora envía una modificación de URL oficial Mod para IIS: http://www.iis.net/download/urlrewrite
Admite la mayoría de los tipos de reescritura, incluidas la configuración de variables de servidor y comodines.
También existirá en todas las instancias web Azure listas para usar.
Esto parece interesante. ¿Sabes si funcionará en IIS6 y en qué nivel de la pila de red se encuentra? – GateKiller
Esto es solo una solución IIS7 y superior (es un módulo http://learn.iis.net/page.aspx/121/iis-7-modules-overview/), para IIS6 necesitará www.isapirewrite.com o www.urlrewriter.net, isapi rewrite parece un producto comercial estable para iis6 –
@GateKiller :) se olvidó de notificarte en mi comentario anterior –
Para una explicación paso a paso, siga el siguiente enlace: http://challadotnetfaq.blogspot.com/2011/08/url-rewritting-in-aspnet.html –