微信号:grzlwx

介绍:光荣之路官方资讯

如何为你的网站设置404页面

2016-01-12 21:54 光荣之路

吴老的《selenium webdriver 实战宝典》出版了!

一个好的网站,拥有一个好的 404页面 是标配。

为何要有 404页面?如何设置一个 404页面?

why 404 pages?


在本地,比如我打开 localhost/fuck.htm(该文件不存在),HTTP 返回 404 Not Found,同时页面展示如下:

用户体验很差有木有!更重要的是,如果没有 404页面,会影响 SEO。

为什么说会影响 SEO 呢?

当你的网站有些页面地址(路径)改变了。或者内容被删除了,导致原地址访问本页面时,提示页面不存在。比如说你网站改版,也会导致很多原来存在的页面,访问的时候提示页面被删除或不存在。这个时候就会产生很多死链接,当一个网站死链接过多的时候,对搜索引擎是非常不友好的,影响你的网站整体权重,也对用户体验很不好。

这时候就需要一个404页面。这个页面是所有死链接的着陆页,所有打不开的页面都会跳转到这个404页面。这个页面包含了你的主要的网站栏目导航。用户在这个页面可以很方便的选择继续浏览你网站别的内容。404页面设置好以后,通过站长工具状态码检,会返回404状态码。如果返回状态码是200说明是设置错误(这样结果会造成搜索引擎有可能认为你网站有大量的重复内容,从而网站权重被降),虽然对访问的用户而言,HTTP状态码究竟是"404"还是"200"并没有什么区别,但对于搜索引擎则是相当重要的。

404说白了就是在当前页面上做一个返回首页或者其他页面的一个链接,这个链接一方面告诉搜索引擎我们这个页面已经无效了请"蜘蛛"再去爬一次首页吧!这样当蜘蛛爬到死链接(404页面)那里的时候就会自动跑到首页并进行索引,也就是说404的出现不仅仅让搜索引擎的数据库更快的删除掉这些死链接,还能让蜘蛛更加勤快的认识新网站,可以说是一举两得。

set 404 pages


笔者总结了两种在APACHE中设置404页面的方法。当然首先你得写好一个404页面,毕竟本质上这也是个html页面,内容就可以集思广益了,比方说可以写个小游戏啊,展示网站其他内容,或者说404公益,等等。这里我写了个文件把它命名为404.htm,放在本地服务器的根目录下(localhost/404.htm)。

方法一 —— .htaccess 设置:

第一种方法是在 .htaccess 文件中进行相关设置。

什么是htaccess?概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

关于htaccess文件的更多内容可以参考文末链接或者自行谷歌百度。

这文件是不是很奇怪,木有文件名,其实也不奇怪,用过Git的话你也肯定见过.git文件夹。但是本地服务器下没有该文件啊?在windows下从别的文件强制改名转换的话,会提示"必须键入文件名",so我们可以用命令行。

打开cmd,cd到指定目录后,用如下命令便可创建一个.htaccess文件:

echo.>.config

前面说了,htaccess文件负责相关目录下的网页配置,所以服务器下的任何文件夹都可以有一个自己的htaccess文件。这里我们把它放在根目录下。

打开该文件,将以下内容复制进去:

ErrorDocument 404 /404.htm

这时再打开localhost/fuck.htm,页面内容便会变成 404.htm 的内容,返回 404 状态码,URL却不会变化。

(PS:如此这般我本地便已经生效,但是有些文章指出还需要在 conf 文件下做一些修改,如果没有生效,可以参考下这里http://blog.chinaunix.net/uid-21505614-id-289414.html)

这里有几点需要注意:

  • 一是不能把以上 ErrorDocument 404 /404.htm 中的斜杠漏掉,if so 404 页面会显示字符串 "404.htm"

  • 其二是路径不能用绝对地址,比如说用 “http://localhost/404.htm”,这样页面打开无效的链接后,会跳至 “http://localhost/404.htm” 的地址(改变 URL),返回状态码 200,这不仅影响站长工具的检查结果,而且影响 SEO 的收录

  • 其三是不要把 404 错误直接转到网站首页,这将影响网站的收录。有些人可能会有疑惑,搞什么 404页面,404 的时候直接转到网站根文件不是更好,还能给首页导量,naive 啊,搜索引擎也不是吃素的,它会认为你这是 "欺骗",从而就不待见你了。

  • 如果 IE 还是跳不过去,那肯定是你的 404 页面内容太少了,至少需要 512 b(字节) 才能让 ie "臣服",认为你的 404 页面还是有诚意的

方法二 —— vhosts 设置:

假设你跟楼主一样设置过 vhosts。(如果没有,欢迎参考 WampServer下如何实现多域名配置

接下去就很简单了,打开 vhosts 文件(比如我的路径 \wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf),修改如下:

<VirtualHost *:80> DocumentRoot "c:\wamp\www" ServerName localhost ErrorDocument 404 /404.htm</VirtualHost>

要注意的点同 htaccess 设置要注意的一致。

总结


404 页面是一个成熟的网站必须要有的东西,主要有两个作用,利于用户体验以及 SEO。在 apache 中有两种设置方式,htaccess 和 vhosts,某些文章指出尽量使用后者,前者比较耗费资源。设置中要注意的点请参考第二小节。

(作者:韩子迟 来源:http://www.cnblogs.com/zichi/p/5111869.html)


公益传播测试知识、技能与正能量!感谢作者!
分享测试生活,思考测试人生!欢迎投稿!
文章图片来自网络,如有侵权请见谅,请联系我们妥善处理。
735821166@qq.com

光荣之路
软件测试培训


官网:www.gloryroad.cn

微信公众号:gloryroadtrain

性能测试QQ群:415987441
测试招聘QQ群: 203715128
自动化3群QQ: 371211499

Python群:457561756


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 我在U2VL精英训练营上的分享---vSphere与应用的监控 新奇:二维码还能做这个? 空格App亿元A轮融资背后:云上多场景技术架构实践与经验 执行后台任务的利器——Hangfire NativeScript 2.2将Webpack引入Angular项目