IIS 7.5, 2008rc2,经典asp, 500错误提示:
由于内部服务器错误,页面无法显示。
我需要知道如何配置IIS以获得更详细的错误。 我已经尝试将ASP配置中的所有调试选项设置为true。 但这并没有起作用。有人能帮帮我吗?
IIS 7.5, 2008rc2,经典asp, 500错误提示:
由于内部服务器错误,页面无法显示。
我需要知道如何配置IIS以获得更详细的错误。 我已经尝试将ASP配置中的所有调试选项设置为true。 但这并没有起作用。有人能帮帮我吗?
当前回答
对于那些尝试了所有方法却无法显示错误细节的人,比如我,检查不同级别的配置是个好主意。我有一个配置文件在网站级和应用程序级(在网站内)检查两者。另外,结果是,我在IIS中最高的节点上禁用了详细错误(就在开始页下面,它的名称与web服务器的计算机名相同)。检查那里的错误页面。
其他回答
在IIS管理的站点主界面双击“ASP”,展开“调试属性”,启用“发送错误到浏览器”,点击“应用”。
在主界面的“错误页面”下选择“500”,然后选择“编辑功能设置”,选择“详细错误”。
注意,相同的步骤适用于IIS 8.0 (Windows Server 2012)。
您还可以验证,如果您将您的主网站文件夹(c:\inetpub\wwwroot)更改为另一个文件夹,则必须为新文件夹中的IIS_IUSRS组授予读权限。
对于那些尝试了所有方法却无法显示错误细节的人,比如我,检查不同级别的配置是个好主意。我有一个配置文件在网站级和应用程序级(在网站内)检查两者。另外,结果是,我在IIS中最高的节点上禁用了详细错误(就在开始页下面,它的名称与web服务器的计算机名相同)。检查那里的错误页面。
尝试将“existingResponse”httpErrors属性的值设置为“PassThrough”。我的设置为“替换”,导致YSOD不显示。
<httpErrors errorMode="Detailed" existingResponse="PassThrough">
在网络上。配置下
<system.webServer>
替换(或添加)行
<httpErrors errorMode="Detailed"></httpErrors>
with
<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
这是因为默认情况下IIS7会拦截HTTP状态代码,如4xx和5xx,这些代码是由应用程序生成的。
接下来,在“ASP”部分中启用“发送错误到浏览器”,并在“错误页面/编辑功能设置”中选择“详细错误”。
另外,将网站文件夹的写权限授予IIS_IUSRS内置组。