2011-02-12 4 views
0

J'utilise HttpContext.RewritePath dans Global.asax pour la réécriture d'URL, et cela fonctionne très bien dans mon environnement de développement sur le serveur Cassini. Mais lorsque je le copie sur le serveur de production exécutant IIS 7, il ne fonctionne pas. J'ai également essayé d'utiliser Context.Server.TransferRequest, mais ensuite j'obtiens l'erreur: "Cette opération nécessite le mode pipeline intégré IIS." sur les deux Cassini et IIS 7 (sur IIS 7, le site Web fonctionne en mode «intégré» dans AppPool).Problème avec httpContext.RewritePath sur IIS 7

Je réécris toutes les URL sur le site Web comme /[The main menuname]/[pagename].aspx par exemple. de /web/thesite.aspx?mainmenu=manager à /manager/thesite.aspx OU /web/theOtherSite.aspx?mainmenu=about-/about/theOtherSite.aspx, et ainsi de suite ...

+0

Pourquoi ne pas utiliser IIS pour le développement si vous êtes Vista ou Windows 7. Ou vous pouvez utiliser IIS 7 express http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx, que vous serez capable de déboguer ton problème. Aussi, pouvez-vous mieux reformater les URL afin que nous puissions donner un sens aux urls "avant" et "après"? –

+0

Essayez d'utiliser [Suivi des demandes ayant échoué] (http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis-7/) pour voir ce qui se passe "derrière scènes ". –

+0

Il semble que IIS 7 ne supporte pas RewritePath :-(Donc je dois transférer l'utilisateur à RequestRequest, mais je ne travaille pas – PNR

Répondre

1

J'ai découvert que je dois ajouter ce qui suit à web.config

<configuration> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
</system.webServer></configuration>