我知道如何使用Rewrite重定向页面。但是当有一个404页面时,我将如何显示我自己的自定义404页面(我知道我可以重写它)并说这实际上是404而不仅仅是一个简单的重写页面?
-edit -
如何设置错误代码而不是询问服务器?如果用户转到/ user / invaliduser /我想发送403或404,但我的重写会将其发送到有效页面以显示用户信息,所以我想知道怎么说不存在而不是空字段页。
答案 0 :(得分:2)
为了更灵活,严格404.html按照我的例子。 在Global.asax.cs中覆盖:
public void Application_Error(Object sender, EventArgs e)
{
if (HttpContext.Current.Request.IsLocal) return;
Exception ex = Server.GetLastError();
HttpException httpEx = ex as HttpException;
string errorUrl;
if (httpEx != null && httpEx.GetHttpCode() == 403)
errorUrl = "~/error/403.aspx";
else if (httpEx != null && httpEx.GetHttpCode() == 404)
errorUrl = "~/error/404.aspx";
else
errorUrl = "~/error/500.aspx";
Server.Transfer(errorUrl);
}
例如,我的404.aspx包含发送反馈的表单,403.aspx - 为用户公开更多有趣的项目,500向管理员发送警报。
答案 1 :(得分:1)
您可以执行404.html并将web.config文件中的404错误重定向到您自己的文件
<error statusCode="404" redirect="YOURFILE.htm" />