2010-03-18 20 views
17

Setup: Windows 7, IIS7. Sto lavorando su un'app che viene visualizzata tramite il server IIS locale, non il server Web di debug integrato. Quindi l'URL della mia app è http://localhost/foo/bar.aspx. C'è la sezione no<customErrors> nel mio web.config e non ho cambiato nessuna impostazione in IIS.Errore 500.19 in IIS7 quando si verifica un errore

Se si verifica un errore, ho sempre arrivare la seguente schermata di errore:

HTTP Error 500.19 - Internal Server Error
assoluto percorso fisico "C:\inetpub\custerr" non è consentito in system.webServer/httpErrors sezione nel web.config file. Usa invece il percorso relativo.

Ecco il mio applicationhost.config contenuti:

<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> 

Come posso liberarmi di questo errore di configurazione in modo da poter vedere gli errori dettagliati?

risposta

28

Ho avuto a che fare con questo problema negli ultimi giorni e ho trovato la soluzione. Un file Web.Config probabilmente sta specificando un percorso assoluto per una delle pagine di errore. Questo potrebbe non essere il Web.Config dell'applicazione che stai testando. Per me, era il file Web.Config del sito web.

  1. Se si trova il file Web.Config all'origine, è possibile rimuovere il percorso assoluto e il problema deve essere risolto.

  2. Una soluzione molto più semplice sarebbe quella di modificare il vostro file di ApplicationHost.Config per impostare la allowAbsolutePathsWhenDelegated proprietà true:

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

non è possibile effettuare una sovrabbondanza sufficiente. ho avuto un web.config nella mia radice del sito web. cancellato da tutti da lì. yayayayayayaya !!!!!!!! – Joel

+0

http://stackoverflow.com/questions/4358339/how-to-prevent-iis7-for-handling-http-status-code-401 – Jared314

+0

Ho iis7.5 e vs2013 e questa proprietà non è consentita nel file di configurazione , dopo aver provato a premere su questo, l'errore appare ancora. – DanielV

2

Ho avuto lo stesso problema quando ho installato Servizi certificati Active Directory sul controller di dominio . Entrambe usavano la porta 443. Modifico quella per i servizi certificati sull'indirizzo IP del server e lasciavo il server di scambio non assegnato. Questo ha risolto il mio problema.

1

Ho riscontrato lo stesso problema in IIS 8.5. La correzione consisteva nell'eliminare qualsiasi voce nel file web.config (che si trova nella directory principale del sito Web) che faceva riferimento alle pagine di errore personalizzate. Le voci sono state create dal sistema quando ho tentato di apportare modifiche alle pagine personalizzate.

1

Ciò che mi ha aiutato a risolvere questo errore è impostare allowAbsolutePathsWhenDelegated su true.

Vai a IIS> Editor di configurazione> in Tipo Sezione: system.webServer/httpErrors e Set allowAbsolutePathsWhenDelegated a vero. Reimposta IIS per buona misura.

Problemi correlati