源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[ASP.NET] asp.net网站的404错误页面的正确设置方法第1/2页

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2010-5-6 23:02:19 | 显示全部楼层 |阅读模式
asp.net网站的404错误页面的正确设置方法,需要的朋友可以参考下。

什么是404错误

HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋、呆板且对用户不友好,无法给用户提供必要的信息以获取更多线索,无疑这会造成用户的流失。

404页面的作用

搜索引擎通过HTTP状态码来识别网页的状态。当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码,搜索引擎就会为该链接建立索引,这导致大量不同的链接指向了相同的网页内容。结果是,搜索引擎对该网站的信任度大幅降低。

如何检查自定义404页面能够返回“404”状态码

在自定义404错误页面设置完毕后,一定要检查一下其是不是能够正确地返回“404”状态码。检查的方法也相当简单,输入一个网站内不存在网页的url,查看一下HTTP Header的返回情况,确信其返回的是“404”状态码。

404页面的正确做法

1、Apache服务器404页面的设置方法

在.htaccess 文件中加入代码:ErrorDocument 404 /Error.html

建立一个简单的html404页面命名 Error.html

把 Error.html放置在网站根目录即可。

2、IIS/ASP.net下设置404错误页面

首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容:

 

 <configuration>
<system.web>
<customErrors mode=”On” defaultRedirect=”error.asp”>
<error statusCode=”404″ redirect=”notfound.asp” />
</customErrors>
</system.web>
</configuration>

 

此例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面“notfound.asp”中加入:

 

 <%
Response.Status = “404 Not Found”
%>

 

这样,便可以保证IIS能够正确地返回“404”状态码

友情提醒

1、一定不要将404错误直接转向到网站首页,这将可能导致你的网站首页不被收录;

2、/Error.html 前面请不要带主域名(错误的写法:yzznl.cn/error.html,正确的写法:/error.html),否者返回的状态码是302或200状态码。


asp.net网站的404错误页面的正确设置方法,需要的朋友可以参考下。

从网上搜索asp.net网站如何自定义404错误页面时,大多数文章都是告诉你在web.config中,找到system.web,配置以下内容即可。

复制代码 代码如下:
<customErrors mode="On" error statusCode="404" redirect="/404.htm" >
</customErrors>


实际上这样做之后,根本就得不到404未找到网页的网页头信息,得到的是302临时重定向的网页头信息。大家可以用 Check Headers Tool 工具查看 HTTP Status Codes就知道了。

那么如何正确配置asp.net网站的自定义404错误网页呢?

首先制作一个404.aspx页面,然后在web.config文件下的customeErrors中如下配置:
customErrors redirectMode="ResponseRewrite"
error statusCode="404" redirect="~/404.aspx"/
/customErrors

RedirectMode有两种属性。
ResponseRedirect是指将用户重定向到该错误页面,并且原始 URL 更改为该错误页面的 URL。
ResponseRewrite是指将用户定向到错误页面,并且不更改浏览器中的原始 URL。

然后再在404.aspx.cs文件中,为Page_Load事件中加入以下代码:
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Not Found";
}

经过这样设置之后,HTTP Status Code 才会是 404 Not Found。 asp.net网站的404错误页面的正确设置方法,需要的朋友可以参考下。

什么是404错误

HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋、呆板且对用户不友好,无法给用户提供必要的信息以获取更多线索,无疑这会造成用户的流失。

404页面的作用

搜索引擎通过HTTP状态码来识别网页的状态。当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码,搜索引擎就会为该链接建立索引,这导致大量不同的链接指向了相同的网页内容。结果是,搜索引擎对该网站的信任度大幅降低。

如何检查自定义404页面能够返回“404”状态码

在自定义404错误页面设置完毕后,一定要检查一下其是不是能够正确地返回“404”状态码。检查的方法也相当简单,输入一个网站内不存在网页的url,查看一下HTTP Header的返回情况,确信其返回的是“404”状态码。

404页面的正确做法

1、Apache服务器404页面的设置方法

在.htaccess 文件中加入代码:ErrorDocument 404 /Error.html

建立一个简单的html404页面命名 Error.html

把 Error.html放置在网站根目录即可。

2、IIS/ASP.net下设置404错误页面

首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容:

 

 <configuration>
<system.web>
<customErrors mode=”On” defaultRedirect=”error.asp”>
<error statusCode=”404″ redirect=”notfound.asp” />
</customErrors>
</system.web>
</configuration>

 

此例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面“notfound.asp”中加入:

 

 <%
Response.Status = “404 Not Found”
%>

 

这样,便可以保证IIS能够正确地返回“404”状态码

友情提醒

1、一定不要将404错误直接转向到网站首页,这将可能导致你的网站首页不被收录;

2、/Error.html 前面请不要带主域名(错误的写法:yzznl.cn/error.html,正确的写法:/error.html),否者返回的状态码是302或200状态码。




从网上搜索asp.net网站如何自定义404错误页面时,大多数文章都是告诉你在web.config中,找到system.web,配置以下内容即可。

复制代码 代码如下:
<customErrors mode="On" error statusCode="404" redirect="/404.htm" >
</customErrors>


实际上这样做之后,根本就得不到404未找到网页的网页头信息,得到的是302临时重定向的网页头信息。大家可以用 Check Headers Tool 工具查看 HTTP Status Codes就知道了。

那么如何正确配置asp.net网站的自定义404错误网页呢?

首先制作一个404.aspx页面,然后在web.config文件下的customeErrors中如下配置:
customErrors redirectMode="ResponseRewrite"
error statusCode="404" redirect="~/404.aspx"/
/customErrors

RedirectMode有两种属性。
ResponseRedirect是指将用户重定向到该错误页面,并且原始 URL 更改为该错误页面的 URL。
ResponseRewrite是指将用户定向到错误页面,并且不更改浏览器中的原始 URL。

然后再在404.aspx.cs文件中,为Page_Load事件中加入以下代码:
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Not Found";
}

经过这样设置之后,HTTP Status Code 才会是 404 Not Found。
回复

使用道具 举报

1

主题

2万

回帖

176

积分

注册会员

Rank: 2

积分
176
发表于 2022-12-18 04:55:20 | 显示全部楼层
撒旦撒旦撒擦擦擦擦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-8-21 15:06:40 | 显示全部楼层
看看怎么样再说
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-8-26 02:18:35 | 显示全部楼层
额头额定法国队是范德萨
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2023-11-17 23:12:38 | 显示全部楼层
额UI废物iuhfujewfiewnnfen
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

303

积分

中级会员

Rank: 3Rank: 3

积分
303
发表于 2023-12-3 12:47:47 | 显示全部楼层
554411515451555
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-12-6 14:20:35 | 显示全部楼层
人都不在了啊 啊
回复 支持 反对

使用道具 举报

14

主题

1万

回帖

75

积分

注册会员

Rank: 2

积分
75
发表于 2024-5-7 15:04:31 | 显示全部楼层
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

100

积分

注册会员

Rank: 2

积分
100
发表于 2024-6-8 11:55:43 | 显示全部楼层
先把创新班才能下班才能下班
回复 支持 反对

使用道具 举报

1

主题

1万

回帖

51

积分

注册会员

Rank: 2

积分
51
发表于 2024-8-4 01:21:55 | 显示全部楼层
先把创新班才能下班才能下班
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-1 20:02 , Processed in 0.073571 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表