C# 如何在asp.net mvc中隐藏自定义错误的服务器版本?
您好,我正在.NETMVC中开发web应用程序。我正在使用CustomHeader中的C# 如何在asp.net mvc中隐藏自定义错误的服务器版本?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,您好,我正在.NETMVC中开发web应用程序。我正在使用CustomHeader中的隐藏服务器版本。它工作正常,我能够隐藏iis版本。这适用于仅存在的页面。我还实施了 <customErrors defaultRedirect="Errorpage.html" mode="On"> <error statusCode="500" redirect="~/Login/Index" /> <error statusCode="400" red
隐藏服务器版本。它工作正常,我能够隐藏iis版本。这适用于仅存在的页面。我还实施了
<customErrors defaultRedirect="Errorpage.html" mode="On">
<error statusCode="500" redirect="~/Login/Index" />
<error statusCode="400" redirect="~/Login/Index" />
</customErrors>
请允许我知道如何在存在页面和不存在页面的情况下修复此问题!能帮我修一下吗?任何帮助都将不胜感激。多谢各位 您可以为404创建自定义错误页,并将其添加到web.config文件中
<error statusCode="404" redirect="~/Home/PageNotFound" />
通过向PreSendRequestHeaders事件添加处理程序,可以消除“服务器”头,如下所示:
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if (app != null &&
app.Context != null)
{
app.Context.Response.Headers.Remove("Server");
}
}
谢谢服务器版本呢?您可以在只显示页面未找到的视图中创建自己的html!。用户将看不到任何服务器版本。正如您所说,我已经创建了自己的html页面,并且仍然显示iis服务器版本。请找到我刚才添加的屏幕截图。嘿,Praveen,我的global.asax中已经有了。我刚才在上面加了一句。我希望你还没有明白我在找什么。存在的页面我可以隐藏服务器版本。不存在的页面我无法隐藏服务器版本。我尽可能地解释清楚,你需要创建一个返回视图的操作,在这个视图中你可以添加你的自定义html。当前页面的url类似于:localhost:62777/errorpage.html/aspxerrorpath=/Dashboard1,但它应该类似于localhost:62777/home/pagenotfound
MvcHandler.DisableMvcResponseHeader = true;
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if (app != null &&
app.Context != null)
{
app.Context.Response.Headers.Remove("Server");
}
}