发生错误时IIS7中出现500.19错误

时间:2010-03-18 19:37:33

标签: iis iis-7 http-error

设置:Windows 7,IIS7。我正在开发一个通过本地IIS服务器查看的应用程序,而不是内置的调试Web服务器。所以我的应用网址是http://localhost/foo/bar.aspx。我的web.config中有 no <customErrors>部分,我没有更改IIS中的任何设置。

如果发生任何错误,我总会收到以下错误屏幕:

  

HTTP错误500.19 - 内部服务器错误
  web.config文件的C:\inetpub\custerr部分中不允许使用绝对物理路径“system.webServer/httpErrors”。改为使用相对路径。

这是我的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>

如何摆脱此配置错误,以便查看详细错误?

4 个答案:

答案 0 :(得分:30)

过去几天我一直在处理这个问题,并找到了解决方案。 Web.Config文件可能指定其中一个错误页面的绝对路径。这可能不是您正在测试的应用程序的Web.Config。对我来说,这是该网站的Web.Config文件。

  1. 如果您发现有问题的Web.Config文件,则可以删除绝对路径并解决问题。

  2. 更简单的解决方案是更改ApplicationHost.Config文件,将allowAbsolutePathsWhenDelegated属性设置为true

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

答案 1 :(得分:2)

我在域控制器上安装Active Directory证书服务时遇到了同样的问题。它们都使用端口443.我将证书服务的一个更改为服务器IP地址,并将交换服务器保留为未分配状态。这解决了我的问题。

答案 2 :(得分:1)

我在IIS 8.5中遇到了同样的问题。修复是删除引用自定义错误页面的web.config文件(位于网站的根目录中)中的任何条目。当我尝试更改自定义页面时,系统创建了条目。

答案 3 :(得分:1)

帮我解决此错误的原因是将allowAbsolutePathsWhenDelegated设置为true。

转到 IIS&gt;配置编辑器&gt;在部分类型:system.webServer / httpErrors 并将allowAbsolutePathsWhenDelegated设置为 true 。重置 IIS 以获得良好衡量标准。