【问题标题】:how to remove version information from server error "the resource cannot be found"如何从服务器错误“找不到资源”中删除版本信息
【发布时间】:2015-04-29 12:58:16
【问题描述】:
浏览页面时出现错误:
“/”应用程序中的服务器错误。
找不到资源。
描述:HTTP 404。您正在寻找的资源(或其之一
依赖项)可能已被删除,名称已更改,或者是
暂时不可用。请查看以下 URL 并制作
确保拼写正确。
请求的 URL:/WebResource.axd
版本信息:Microsoft .NET Framework 版本:4.0;
ASP.NET 版本:4.0.33
错误是预期的,我需要的是一种隐藏/删除版本信息的方法。!?如果有的话……
【问题讨论】:
标签:
asp.net
.net
internal-server-error
【解决方案1】:
创建一个您希望用户看到的自定义页面,然后在 web.config 文件中包含类似的内容
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="404.aspx" redirectMode="ResponseRedirect">
<error statusCode="404" redirect="404.aspx" />
...
</customErrors>
</system.web>
有3种不同的模式On、Off、RemoteOnly
On - 指定启用自定义错误。如果未指定 defaultRedirect 属性,用户会看到一般错误。自定义错误会显示给远程客户端和本地主机。
关闭 - 指定禁用自定义错误。详细的 ASP.NET 错误会显示给远程客户端和本地主机。
RemoteOnly - 指定仅向远程客户端显示自定义错误,并向本地主机显示 ASP.NET 错误。这是默认值。
默认为RemoteOnly 进一步阅读here。如果您想知道customErrors 和httpErrors 之间的区别,您可能还想看看这个answer。