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

什么是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状态码。

当前1/2页 12下一页阅读全文

(0)

相关推荐

  • IIS部署asp.net报404错误的解决方法

    1).所建网站->(右键)权限->"ASP.NET计算机帐户"是否已添加. 2).所建网站->(右键)属性->ASP.NET选项卡->版本是否为2.0,不是则修改为2.0; 3).IIS->WEB服务扩展中->ASP.NETV2.0是否被禁止,若为禁止状态则启动; 4).所建网站->(右键)属性->主目录->执行权限是否为:纯脚本;应用程序池是否设置: 5).所建网站->(右键)属性->ASP.NET选项卡->

  • asp.net 编译器错误信息: CS0006: 未能找到元数据文件 该死的.NET

    编译器错误信息: CS0006: 未能找到元数据文件"C:\\WINDOWS\\assembly\\GAC_32\\System.EnterpriseServices\\2.0.0.0__b03f5f7f11d50a3a\\System.EnterpriseServices.dll" 提示这样的报错 郁闷 下面给出解决的方案 gacutil.exe for dotnet 2.0. 复制代码 代码如下: gacutil /i DriveLetter: \ YourPath \ YourA

  • Asp.Net 程序错误Runtime Error原因与解决

    Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewe

  • win8/8.1系统安装.net framework 3.5出现0x800F0906代码错误的解决方法

    有效解决win8/8.1系统安装.net framework 3.5出现0x800F0906代码错误 解决方案一. 首先打开windows更新,检查是否有系统更新要安装,因为这个问题可能是导致.net 3.5无法安装的罪魁祸首,要检查windows更新,可以右键"这台电脑"点击"属性",打开后,点击左下侧的"检查windows更新",如果有更新,就安装完重启下系统,如果没有显示更细,也要手动检测一下,确保windows更新处没任何补丁要更新. 这

  • asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解

    从客户端(ftbContent="<P><A href="http://l...")中检测到有潜在危险的 Request.Form 值. 说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击.通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证.但是,在这种情况下,强烈建议应用程序显式检查所有输入. 异常详细信息: System.Web

  • 运行asp.net时出现 http错误404-文件或目录未找到

    问题原因: 我遇到的情况,装了.NET 2.0 + IIS 升级后就出现以上问题:不确定其他原因也会不会产生类似错误.(如果有,希望大家能贴出更多的原因,方便遇到同样错误的人找到问题的根源) 解决方法: 首先,要重新注册IIS :运行cmd 后 进入"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 键入命令aspnet_regiis -i 其次,在: 计算机管理--Internet信息服务(IIS)管理器--Web服务扩展--ASP.NET

  • ASP.NET在IIS上注册报0x800702e4错误解决方法

    1.--404.3 not found 2.-- 关于asp.net2.0在iis下的注册问题,因为我的win7是后装的iis,而.framework2.0则是跟着vs2005一起早就装好的,这 个时候需要手动注册一下.framework2.0,方法如下:在xp下,在"运行"里面执行一下x:\Windows\Microsoft.NET \Framework\v2.0.50727\aspnet_regiis.exe –i就行了,但在win7下,会报一个"0x800702e4 请

  • 在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的

    原因:如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误. 解决.若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\work\v2.0.50727\CONFIG\machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"

  • asp.net运行提示未将对象引用设置到对象的实例错误解决方法

    未将对象引用设置到对象的实例 一.网络上的一般说法 1.ViewState对象为Null. 2.DateSet空. 3.sql语句或Datebase的原因导致DataReader空. 4.声明字符串变量时未赋空值就应用变量. 5.未用new初始化对象. 6.Session对象为空. 7.对控件赋文本值时,值不存在. 8.使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值. 9.使用FindControl时,控件不存在却没有做预处理. 10.重复定义造成未

  • Caused by: android.os.NetworkOnMainThreadException错误解决办法

    好久不写Android代码手都生了,找出自己之前写的程序发现跑不了了,也没啥特别的错误提示,就看到一句有用的错误Caused by: android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧. 解决办法有两个思路,分别是: 第一种方法:直接忽视,强制使用(强烈不推荐,但是修改简单) 在MainActivity文件的setContentView(R.layout

随机推荐