我知道如何使用 Rewrite 重定向页面。但是当有一个 404 页面时,我如何显示我自己的自定义 404 页面(我知道我可以重写它)并说这实际上是一个 404 而不仅仅是一个普通的重写页面?
-编辑-
我如何设置错误代码而不是询问服务器?如果用户转到/user/invaliduser/我想发送 403 或 404 但我的重写会将其发送到有效页面以显示用户信息所以我想知道如何说不存在而不是空字段页面。
最佳答案
为了更灵活然后严格 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 向管理员发送警报。
关于asp.net - 如何创建自定义 404 页面并发送 404 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108633/