2009-03-05 20 views
15

Hemos heredado una aplicación que utiliza el módulo Intelligencia.UrlRewriter. Nuestro entorno, sin embargo, es IIS7. Ya hemos configurado nuestro sitio para que se ejecute en el clásico grupo de aplicaciones asp.net (que, al parecer, funciona para muchos de estos tipos de problemas). Sin embargo, todavía no vemos que se reescriban las URL en nuestra aplicación.¿Se puede hacer que Intelligencia.UrlRewriter funcione en IIS7?

¿Alguien ha topado con esto?

Respuesta

1

Sí, tuve exactamente el mismo problema con el módulo Intelligencia.UrlRewriter, que se ejecuta bajo Win Vista & IIS7, sin embargo, cambiar al clásico grupo de aplicaciones asp.net solucionó el problema. ¿Estás ejecutando la aplicación en un nuevo directorio virtual? Que a veces puede meterse con la ruta raíz de la aplicación que podría hacer una diferencia en las reglas en el web.config

21

Es necesario definir la configuración en el elemento system.webServer, como:

<system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <modules runAllManagedModulesForAllRequests="true"> 
    <add name="UrlRewriter" 
    type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" /> 
     </modules> 
    </system.webServer> 

Puedes mantener ambas configuraciones Lo que probablemente tiene ahora es:

<httpModules> 
     <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" /> 
     </httpModules> 

Consulte la sección "Migración de aplicaciones ASP.NET a IIS 7.0 integrado mod" en http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis7/

ps. He estado usando sin ningún problema en absoluto, siempre y cuando esa configuración se encuentra en

Actualización 1:. También puedes ver http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx, sobre todo "Enfoque 3: El uso de un HttpModule que realizan la extensión-Menos reescritura de URL con IIS7" , ya que la configuración que agregué tiene la configuración sin extensión.

+0

Freddy, me le dio una oportunidad, pero no funcionó. Creo que a IIS7 no le gusta que la url (por ejemplo: gallery/view/1) sea sin extensión. Puede regex arreglar esto? Aquí está actual:

+0

hmm, no he usado ese estilo de configuración, el mío se ve así: eglasius

+0

No tengo parámetros de consulta adicionales, y otras cosas. De todos modos, lo probaría primero con una versión simple, para descartar cualquier cosa con esa configuración. – eglasius

1

He detectado el mismo problema, después de algunos intentos descubrí que el cambio del modo asp a la tubería integrada me ayudó.

+0

También tengo la situación en la que funciona en modo integrado pero no en modo clásico. –

1

No se olvide de añadir las siguientes líneas en la sección system.webServer de su archivo web.config si está utilizando IIS 7

<system.webServer> 
<modules runAllManagedModulesForAllRequests=”true”> 
<add name=”UrlRewriter” type=”Intelligencia.UrlRewriter.RewriterHttpModule” /> 
</modules> 
<validation validateIntegratedModeConfiguration=”false” /> 
</system.webServer> 

Como en

http://frozengraphics.wordpress.com/2009/12/06/intelligencia-urlrewriter-and-iis7/

Cuestiones relacionadas