IIS 7.5, 2008rc2,经典asp, 500错误提示:

由于内部服务器错误,页面无法显示。

我需要知道如何配置IIS以获得更详细的错误。 我已经尝试将ASP配置中的所有调试选项设置为true。 但这并没有起作用。有人能帮帮我吗?


当前回答

我遇到了同样的问题,并以与Alex K相同的方式解决了问题。

因此,如果“发送错误到浏览器”是无效的,也设置这个:

错误页面-> 500 ->编辑功能设置->“详细错误”

还要注意的是,如果返回的错误页面内容很短,而你使用的是IE, IE会很乐意忽略服务器返回的有用内容,而是显示自己的通用错误页面。你可以在IE的选项中关闭这个选项,或者使用不同的浏览器。

其他回答

对我来说,这是许可问题。 打开应用程序文件夹属性->安全选项卡->编辑->添加

IIS appppool \[DefaultAppPool或任何其他appppool](如果使用ApplicationPoolIdentity选项) IUSRS IIS_IUSRS

尝试将“existingResponse”httpErrors属性的值设置为“PassThrough”。我的设置为“替换”,导致YSOD不显示。

<httpErrors errorMode="Detailed" existingResponse="PassThrough">

您还可以验证,如果您将您的主网站文件夹(c:\inetpub\wwwroot)更改为另一个文件夹,则必须为新文件夹中的IIS_IUSRS组授予读权限。

如果你在远程服务器上,你可以配置你的网页。配置文件如下:

<configuration>
<system.webServer>
    <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
    <customErrors mode="Off"/>
    <compilation debug="true"/>
</system.web>

我遇到了同样的问题,并以与Alex K相同的方式解决了问题。

因此,如果“发送错误到浏览器”是无效的,也设置这个:

错误页面-> 500 ->编辑功能设置->“详细错误”

还要注意的是,如果返回的错误页面内容很短,而你使用的是IE, IE会很乐意忽略服务器返回的有用内容,而是显示自己的通用错误页面。你可以在IE的选项中关闭这个选项,或者使用不同的浏览器。