2010-11-09 10 views
3

J'ai mis "Approche 3: Utilisation d'un HttpModule pour effectuer Extension-Moins Réécriture d'URL avec IIS7" d'ici: - http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspxUrlRewriter pour IIS 7 retourne 404 Erreur serveur

qui est basé sur UrlRewriter Module: - http://urlrewriter.net/

il semble fonctionner sur mon environnement local, mais sur le serveur de production (en cours d'exécution IIS 7), il affiche "404 - fichier ou répertoire introuvable" page.

J'ai cherché sur Google et je n'ai pas réussi à trouver la solution.

En fin de compte, nous sommes retournés à IIS 6 et suivi les instructions ici qui a travaillé: - http://urlrewriter.net/index.php/support/installation/windows-server-2003

Mais un jour, nous pouvons mettre à niveau vers IIS 7 sur un environnement d'hébergement partagé et le même problème apparaît encore!

+0

Le mec d'hébergement l'a eu pour travailler dans IIS 7. Tout ce que j'ai obtenu à ce qu'il a fait était que "les gestionnaires HTTP nécessitent un mappage générique avec un pool d'applications différent pour le faire fonctionner dans IIS 7" . Espérons que cela aide quelqu'un qui n'a rien trouvé sur Google. –

Répondre

5

Le mec d'hébergement l'a obtenu pour fonctionner dans IIS 7. Les gestionnaires HTTP requièrent un mappage générique avec un pool d'applications différent pour le faire fonctionner dans IIS 7. Espérons que cela aide.

Assurez-vous que vous avez les éléments suivants dans Web.Config:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <handlers> 
    <add name="wildcard" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
    </handlers> 
</system.webServer> 
+0

C'est ce que je devais faire pour que les URL inexistantes soient mappées. –

+0

Une configuration complète weg.config peut être trouvée dans cette réponse (pour moi cela a fonctionné, la solution ci-dessus par Jason n'a pas été utile dans mon cas, asp.net 2.0 intégré, IIS 7.5): http://stackoverflow.com/questions/ 615391/can-intelligencia-urlrewriter-être-fait-au-travail-en-iis7 – firepol

+0

Excellent! tu sauves ma journée – Ras

0

Mon collègue a eu le même problème et j'ai vérifié qu'il définit le pool d'applications pour utiliser le pipeline classique au lieu d'utiliser le pipeline intégré qu'il devrait utiliser et en changeant cela à intégré a résolu le problème. Peut-être que cela pourrait résoudre le vôtre aussi?

0

J'ai eu un problème similaire que ma page p1 (a été réécrite, est à l'origine p1.aspx) a été à tort considéré comme répertoire p1 .

I ajouté < modules runAllManagedModulesForAllRequests = "true"/> au <system.webServer> dans le web.config et il semble commencer à travailler.

0

Pour IIS 7

Copiez la définition HttpModules dans votre fichier web.config de system.web à system.webServer

<system.webServer> 
    <modules> 
     <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/> 
    </modules> 
<system.webServer> 

Pools d'application: Managed mode Pipiline = intégré