404页面的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。

很多开源系统包括CMS系统、Blog系统等不提供404页面或提供的404页面并未达到SEO的要求,这让网站的权威性大打折扣。

404页面该达到怎么样的效果才符合SEO要求?

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

正确建立404页面的方法是:(仅适合Apache服务器)

方法一:

首先你要开启Apache的rewrite_module模块,支持.htaccess。然后在网站根目录建立.htaccess文件(或已存在),加上这句 ErrorDocument 404 /404.html即可

具体做法:

首先找到apache的配置文件,httpd.conf,用编辑工具打开,或者文本形式打开。

开启rewrite_module模块(将前面的#号去掉)。

修改Directory的AllowOverride为all,注意配置文件中有很多Directory,不要改错了,否则不会生效的,Directory一定是你apache服务的根目录。下图可做参考。

如上 我的根目录是E:/www 所以 我将.htaccess文件和404.html都放在这个根目录下面。

在你的根目录下面编写.htaccess文件,文件内容:

ErrorDocument 404 /404.html

方法二:

  1. # vi /etc/httpd/conf/httpd.conf
  2. 取消 ErrorDocument 404 /missing.html 前注释
  3. 可以修改为:
  4. ErrorDocument 404 /ErrPage/404.html
  5. 指放置404错误页面的路径为apache根目录中的ErrPage目录
  6. 然后到/var/www/html/ErrPage中新建404.html,填入自定义内容
  7. # service httpd restart

注意:

  • 不要将404错误直接转向到网站首页,这将导致首页不被收录;
  • /Error.html 前面不要带主域名,否则返回的状态码是302或200状态码。

这样可以自定义一些比较人性化的提示:比如页面正在维护中等.

apache下自定义404错误页面的更多相关文章

  1. ASP.NET 在IIS7.5下自定义404错误页面的方法

    .net 4.0 本机调试时一切正常,配置如下     <customErrors redirectMode="ResponseRewrite" mode="On& ...

  2. NGINX下配置404错误页面的方法分享

    NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步,需要的朋友可以参考下   1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcg ...

  3. 在ASP.NET MVC3项目中,自定义404错误页面

    在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中 ...

  4. apache 自定义404错误页面

    1.有些提供web服务的网站,在用户访问一个不存在的网站文件时,会提示404错误,如下所示: 现在要求自定义一个错误页面,也就是出现404错误代码时,跳转到我们自定义的网址上.下面记录下方法: 1.编 ...

  5. nginx下配置404错误页面

    1.创建自己的404.html页面,并放于网站根目录. 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或 ...

  6. Apache服务器处理404错误页面技巧

    1.打开Apache目录,查找httpd.conf文件 2.打开httpd.conf文件,找到<Directory "    "></Directory>这 ...

  7. spring boot 下 500 404 错误页面处理

    spring boot 作为微服务的便捷框架,在错误页面处理上也有一些新的处理,不同于之前的spring mvc 500的页面处理是比较简单的,用java config或者xml的形式,定义如下的be ...

  8. django中自定义404错误页面

    自定义404页面,如下5个步骤:1)使用自定义的404页面,必须在setting文件修改DEBUG = False(即关闭debug调试模式)2)必须在setting文件修改ALLOWED_HOSTS ...

  9. Tomcat中配置自定义404错误页面

    404,50x这种错误经常遇到. 如果%CATALINA_HOME%\conf\web.xml和具体应用中都有设置%CATALINA_HOME%\webapps\ROOT\WEB-INF\web.xm ...

随机推荐

  1. cocos2d-x使用AssetsManager类实现资源的在线更新

    从2.1.2版本开始,2dx在libExtensions下添加了一个AssetsManager类用于资源的在线更新和简单的版本管理,同时添加了AssetsManagerTest项目示范了AssetsM ...

  2. datatable动态添加,及填充数据

    DataTable tblDatas = new DataTable("Datas"); tblDatas.Columns.Add("ID", Type.Get ...

  3. xib中的view对iPhone和iPad自适应

    1 This worked for me: Make a copy of the .xib in the Finder.    Open the copied file in a text edito ...

  4. 面试题-链表反转c实现

    // ListReverse.cpp : Defines the entry point for the console application.// #include "stdafx.h& ...

  5. jQuery表单验证插件——jquery.validate.js

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一.导入js库 <script src="../j ...

  6. [已解决]Tomcat启动报 java.net.BindException: Address already in use: JVM_Bind

    启动多个Tomcat的的时候记得要改3个端口: <Server port="8001" shutdown="SHUTDOWN"> <Conne ...

  7. ajax 代码

    function ajax(){ var aj=null; if(window.ActiveXObject){ aj = new ActiveXObject("Microsoft.XMLHT ...

  8. mfc通过消息传递参数进行程序间通信

    这样的程序主要实现windows平台下两个应用程序间的通信. 最简单的单元分为两个部分,一个是引用的程序,一个是被引用的程序. 一.如果引用他人,需要传递参数找到运行的程序,并且传递消息过去 void ...

  9. SELinux深入理解

    ps:今天在远程给服务器配置https的时候,一直乱码,以前做系统的系统第一件事情,就是关闭selinx,今天忘记了,然后就悲剧了... 弄了半天才弄好,镇定思痛,好好的来看下selinux 1. 简 ...

  10. dojox.grid.DataGrid

    创建表格 <table data-dojo-type="dojox.grid.DataGrid" data-dojo-id="grid" style=&q ...