2009-01-30 8 views
2

J'ai des erreurs personnalisées configurées dans mon fichier web.config, mais IIS 6.0 renvoie l'erreur personnalisée spécifiée dans l'onglet Erreurs personnalisées de la configuration du site Web.Erreurs personnalisées ASP.NET ignorées

<system.web> 
     <customErrors> 
       <error statusCode="404" redirect="UrlRedirect.aspx" /> 
     </customErrors> 
    </system.web> 

Que puis-je manquer?

Répondre

2

Gardez à l'esprit que le 404 gestionnaire spécifié dans le web.config démarre uniquement dans les fichiers traités par le runtime ASP.NET - .htm, images, css, javascript seront tous pris en charge par la page 404 spécifiée dans les paramètres IIS de vos hôtes.

Si vous souhaitez que ces types de fichiers soient gérés par votre erreur personnalisée, vous devez configurer IIS pour diriger les 404 vers UrlRedirect.aspx.

+0

Oui, c'est ce que j'ai finalement fait ... mais comment puis-je le faire traiter dans Web.Config? C'est ce que montrent tous les exemples en ligne (c'est-à-dire l'erreur 404) mais ils n'ont pas fonctionné pour moi. – Jason

+0

Vous ne pouvez pas, sauf si vous indiquez à IIS de diriger toutes les demandes via le gestionnaire ASP.NET, ce qui a des implications sur les performances. Définir la redirection dans les deux endroits est le seul moyen de gérer toutes les 404. –

+0

Donc, si j'ai un 404 (sur un pdf), IIS va prendre en charge et rediriger vers la page d'erreur spécifiée dans la configuration IIS. Puis-je supprimer tous les éléments Pages d'erreur dans le gestionnaire et utiliser ma configuration web.config pour déterminer où aller? – Keith

2

Vous pourriez manquer mode = « On »:

<system.web> 
     <customErrors mode="On"> 
       <error statusCode="404" redirect="UrlRedirect.aspx" /> 
     </customErrors> 
</system.web> 
+0

Oui, je suis ... stupide moi. Bien que, j'ai finalement réussi à travailler dans IIS en pointant les erreurs personnalisées vers une URL ... et je ne veux pas le changer maintenant! ;) – Jason

0

En fait, si je comprends votre dilemme correctement, il semble que l'erreur personnalisée est retourné, si ce n'est pas ce que vous voulez vous devra désactiver le mode "Off" ou "RemoteOnly" afin d'afficher des messages d'erreur détaillés dans votre environnement.

<customErrors mode="Off"/> 
Questions connexes