【发布时间】:2012-04-24 09:35:08
【问题描述】:
如果我的网站发生错误,我会执行以下操作:
Server.Transfer("/error.aspx");
该页面有代码:
protected void Page_Load(object sender, EventArgs e)
{
...
Response.StatusCode = 404;
}
如果我在本地主机上工作,那么连同为页面返回的 404 状态,页面显示“正确的错误描述”。
一旦我将相同的代码发布到互联网上,所有有错误的页面仍然显示 404 状态代码,但没有内容。相反,它们有标准的 404 错误消息:
404 - 找不到文件或目录。
如果注释掉“Response.StatusCode = 404”行,则提供了正确的页面,但它有 200 个状态代码。
问题:如何返回用户友好的同时有404错误状态码的错误页面?
欢迎任何想法!提前非常感谢!
附: ASP.NET 4.0
【问题讨论】:
-
我一直以同样的方式完成自定义 404 页面。 1) 转移到错误页面 2) 用户友好的页面副本和机器人引擎盖下的 404。我现在正在尝试执行此操作的一个站点我遇到了完全相同的问题 - 如果我添加“Response.Status”,则会显示标准 404 - 删除 response.status 并且页面副本出现但返回 200。我未受过教育的猜测是 .NET4 框架发生了一些变化......
标签: asp.net http-status-code-404