鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > .net技术 > asp.net编程 > >

asp.net动态输出404

来源:互联网 作者:佚名 时间:2013-05-11 11:25
本文地址: 我们有时候会根据参数来变化而显示输出404页面,如aa.aspx?id=xxx,你可能通过url来重写之后的地址是xxx.html了, 当xxx=1是数据库存在id为1的时候我正常输出记录来。 假如当xxx=5,数据库这条记录被删除了。我们为了5.html能够告诉用户和搜索引

 本文地址:

我们有时候会根据参数来变化而显示输出404页面,如aa.aspx?id=xxx,香港空间,你可能通过url来重写之后的地址是xxx.html了,

当xxx=1是数据库存在id为1的时候我正常输出记录来。

假如当xxx=5,数据库这条记录被删除了。我们为了5.html能够告诉用户和搜索引擎这个页面是不存在的,我们需要返回404页面了。

只需要通过下面代码

Response.StatusCode =404; Response.Status = ; Response.End();

到底是不是404我们来检测试下

上面的代码是完全可以输出404页面了的,不过你这里是要自定义输出的内容,可以如下来:

Response.StatusCode =404; Response.Status = ; Response.Write(><head><meta http-equiv=\+ ); Response.End();

如果自定义输出内容了,香港虚拟主机,那就需要输出的html字符最好大于521B,ie下面会对小于512B的替换成ie自己的页面了。



 

不过好像看有的童鞋说,Response.Redirect("404.html")不是一样会显示一个404页面里吗,会改变当前的url地址,而Response.Redirect是重定向的。

我通过Server.Transfer不是一样实现了404页面吗??

Response.StatusCode = 404; Response.Status = ; Server.Transfer();//Response.Transfer方法(404.html在服务器不存在)

用上面是可以输出一个404的页面了,而且url地址也没有改变。那是不是就是返回404了呢??

我们查看它返回的状态码如下图

 

发现了吧,返回的302状态码。

 

用Response.Redirect或者Server.Transfer都是重定向的,香港虚拟主机,不要来用做404输出!!

 

 

网友评论
<