2017-01-03 2 views
1

J'essaie d'obtenir des pages d'erreur personnalisées en vain. Cette configuration est adaptée des échantillons que j'ai trouvés en ligne. Utiliser IIS 7.0 hébergé par GoDaddy.httpErrors web.config personnalisés pas redirigeant ... « La page ne peut être affichée car une erreur de serveur interne est survenue. » à la place

Le code ci-dessous me donne « La page ne peut être affichée car une erreur de serveur interne est survenue. » au lieu de rediriger.

<configuration> 
    <system.webServer> 

     <httpErrors> 
     <remove statusCode="401" subStatusCode="-1" /> 
     <remove statusCode="403" subStatusCode="-1" />  
     <remove statusCode="404" subStatusCode="-1" />     
     <remove statusCode="500" subStatusCode="-1" /> 
     <error statusCode="401" path="http://www.mywebsite.com/error.html" responseMode="Redirect" /> 
     <error statusCode="403" path="http://www.mywebsite.com/error.html" responseMode="Redirect" /> 
     <error statusCode="404" path="http://www.mywebsite.com/error.html" responseMode="Redirect" />     
     <error statusCode="500" path="http://www.mywebsite.com/error.html" responseMode="Redirect" /> 
     </httpErrors> 

    </system.webServer> 

    <system.web> 
     <customErrors mode="On"/> 
    </system.web> 

</configuration> 

Répondre

0

Ce problème peut parfois se produire sur un plan d'hébergement partagé. Voir, https://forums.asp.net/t/1894946.aspx?Not+getting+custom+error+page, dernier message:

« Vous ne pouvez pas modifier les pages d'erreur HTTP sous Windows hébergement mutualisé plans en dehors de la page d'erreur 404, ce qui est la raison pour laquelle vous rencontrez les problèmes »

Ainsi, si vous avez quelque chose comme ceci:

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <clear /> 
    <error statusCode="400" responseMode="Redirect" path="/Errors/404error.html" /> 
    <error statusCode="403" responseMode="Redirect" path="/Errors/404error.html" /> 
    <error statusCode="404" responseMode="Redirect" path="/Errors/404error.html" /> 
    <error statusCode="500" responseMode="Redirect" path="/Errors/404error.html" /> 
</httpErrors> 

vous obtiendrez l'erreur « la page ne peut pas être affichée car une erreur de serveur interne est survenue. » mais si vous changez à ceci:

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="404" /> 
    <error statusCode="404" responseMode="Redirect" path="\Errors\404error.html"/>    
</httpErrors> 

Il fonctionnera.

Une discussion complète des raisons pour lesquelles cela se produit sur GoDaddy se trouvent sur ce vieux fil de discussion ici: https://web.archive.org/web/20130131011933/https://support.godaddy.com/groups/web-hosting/forum/topic/custom-http-error-pages-on-4gh-windows-shared-hosting/.

Là beaucoup d'autres questions pour lesquelles vos erreurs personnalisées peuvent ne pas fonctionner, mais celui-ci en particulier ne semble pas être bien documenté, donc je pensais que je poste ici pour d'autres.