Question

Configuration: Windows 7, IIS7. Je travaille sur une application qui est en cours de visualisation via le serveur IIS local, et non intégré dans le serveur web de débogage. Donc, mon url app est http://localhost/foo/bar.aspx. Il est pas section <customErrors> dans mon web.config, et je n'ai pas changé les paramètres dans IIS.

Si une erreur se produit, je reçois toujours l'écran d'erreur suivant:

  

Erreur HTTP 500.19 - erreur interne du serveur   chemin physique absolu « C:\inetpub\custerr » n'est pas autorisé dans la section system.webServer/httpErrors dans le fichier web.config. Utilisez plutôt le chemin relatif.

Voici le contenu de mon applicationhost.config:

<httpErrors errorMode="Custom" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
  <error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="401.htm" />
  <error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="403.htm" />
  <error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="404.htm" />
  <error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="405.htm" />
  <error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="406.htm" />
  <error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="412.htm" />
  <error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="500.htm" />
  <error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="501.htm" />
  <error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="502.htm" />
</httpErrors>

Comment puis-je me débarrasser de cette erreur de configuration afin que je puisse voir des erreurs détaillées?

Était-ce utile?

La solution

J'ai eu affaire à ce problème depuis quelques jours et a trouvé la solution. Un fichier web.config spécifie probablement un chemin absolu pour l'une des pages d'erreur. Ce ne peut pas être le web.config de l'application que vous testez. Pour moi, ce fut le fichier web.config du site.

  1. Si vous trouvez le fichier web.config incriminée, vous pouvez supprimer le chemin absolu et le problème devrait être résolu.

  2. Une solution beaucoup plus facile serait de modifier votre fichier de ApplicationHost.config pour définir la propriété allowAbsolutePathsWhenDelegated à true:

    <httpErrors allowAbsolutePathsWhenDelegated="true" errorMode="Custom" 
                lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
    

Autres conseils

J'ai eu le même problème lorsque j'ai installé Active Directory Certificate Services sur le contrôleur de domaine. Les deux d'entre eux utilisaient le port 443. je change celui des services de certificat à l'adresse IP du serveur et quitté le serveur d'échange non affecté. Cela a résolu mon problème.

J'ai eu ce même problème dans IIS 8.5. Le correctif a été de supprimer toutes les entrées dans le fichier web.config (situé dans le répertoire racine du site) qui référencent des pages d'erreur personnalisées. Les entrées ont été créées par le système quand j'avais tenté d'apporter des modifications aux pages personnalisées.

Ce qui m'a aidé à résoudre cette erreur est mise allowAbsolutePathsWhenDelegated à true.

Aller à IIS> Configuration Editor> dans la section Type: system.webServer / httpErrors et Set allowAbsolutePathsWhenDelegated true . Réinitialiser IIS pour faire bonne mesure.

scroll top