Realizando Urlrewrite con Asp.net en Host Virtual

  
                  Visto en Internet, muchos amigos hacen urlrewrite en asp.net, utilizando el método HttpHandle + Server.Transfer. De hecho, este método es incorrecto. Primero, HttpHandle no puede implementar urlrewrite; el segundo Server.Transfer es una redirección estándar, no urlrewrite en absoluto.
De hecho, no tiene que lograr urlrewrite HttpHandle, que no logran su propia HttpModule, con unas pocas líneas de código se pueden conseguir fácilmente.

Estoy presentando aquí en el host virtual, el host virtual es diferente del servidor de su propiedad, usted no tiene derecho a modificar IIS y no tiene permiso para instalar el complemento de IIS, como la reescritura iis. Pero todavía podemos completar fácilmente las funciones que necesitamos.
Específicamente, los siguientes: global.asax.cs abiertas, la orientación protected void Application_BeginRequest (remitente del objeto, EventArgs e). Puedo adivinar qué es a partir del nombre del método. Escriba el siguiente código:
 protected void Application_BeginRequest (object sender, EventArgs e) {string 
OLDURL = HttpContext.Current.Request.RawUrl;
patrón de encordado = @ "^ (. +) predeterminado /(\\ d +) \\. aspx (\\?. *) * ___ FCKpd___0quot;;
string replace = "$ 1default.aspx? id = $ 2"; if (Regex.IsMatch (oldUrl,
pattern, RegexOptions.IgnoreCase RegexOptions.Compiled))
{string newUrl = Regex.Replace (oldUrl, pattern, replace,
RegexOptions.Compiled RegexOptions.IgnoreCase);
this.Context.RewritePath (nuevo);}}


Con el código anterior, visito una URL como: ... /default /123.aspx, por supuesto, esta URL no existe en mi computadora, lo hará Se dirige a: ... /default.aspx? Id = 123.

Por supuesto, con expresiones regulares potentes, puede anular la url a su gusto, todo en el servidor El proceso silencioso, no habrá notificación en el cliente. Debido a que está en el host virtual, Solo podemos redirigir el archivo .aspx. Si es nuestro propio servidor, puede implementar cualquier nombre de sufijo registrando el nombre de sufijo en IIS. Por ejemplo, puede registrar un tipo como * .myweb para que otros puedan acceder al valor predeterminado. /456.myweb, puede redirigirlo a default.aspx? Id = 456. En una palabra, siempre que pueda pensar .net puede ayudarlo a lograrlo, y esto no requiere mucho código.
Copyright © Conocimiento de Windows All Rights Reserved