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

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

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


当前回答

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

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

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

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

其他回答

在网络上。配置下

<system.webServer>

替换(或添加)行

<httpErrors errorMode="Detailed"></httpErrors>

with

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

这是因为默认情况下IIS7会拦截HTTP状态代码,如4xx和5xx,这些代码是由应用程序生成的。

接下来,在“ASP”部分中启用“发送错误到浏览器”,并在“错误页面/编辑功能设置”中选择“详细错误”。

另外,将网站文件夹的写权限授予IIS_IUSRS内置组。

在IIS管理的站点主界面双击“ASP”,展开“调试属性”,启用“发送错误到浏览器”,点击“应用”。

在主界面的“错误页面”下选择“500”,然后选择“编辑功能设置”,选择“详细错误”。

注意,相同的步骤适用于IIS 8.0 (Windows Server 2012)。

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

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

找到了。

http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx

以管理员身份运行CMD,进入system32\inetsrv文件夹并执行:

appcmd.exe set config -section:system.webServer/httpErrors -allowAbsolutePathsWhenDelegated:true

现在我可以看到详细的asp错误。

对于那些尝试了所有方法却无法显示错误细节的人,比如我,检查不同级别的配置是个好主意。我有一个配置文件在网站级和应用程序级(在网站内)检查两者。另外,结果是,我在IIS中最高的节点上禁用了详细错误(就在开始页下面,它的名称与web服务器的计算机名相同)。检查那里的错误页面。