吴老师的《Selenium Webdriver实用指南》已经发布啦!
一个好的网站应该有一个好的404页面。
为什么需要 404 页面?如何设置?
为什么是 404 页面?
本地比如我打开localhost/fuck.htm(该文件不存在),HTTP返回404 Not Found,页面显示如下:
用户体验太差了!更重要的是,如果没有404页面,会影响SEO。
为什么它会影响SEO?
当你网站某些页面的地址(路径)发生改变,或者内容被删除,那么从原地址访问时,该页面将不存在。比如你改版了网站,很多已有的页面会被删除,或者访问时不存在。这时候就会产生很多死链接。网站死链接过多,对搜索引擎非常不友好,影响网站整体权重,用户体验不好。
这时候就需要一个404页面了,这个页面是所有死链接的登陆页面,所有打不开的页面都会跳转到这个404页面。这个页面包含了你网站的主要栏目导航,用户在这个页面上可以很方便的选择继续浏览你网站的其他内容。404页面设置好之后,通过站长工具进行状态码检查会返回404状态码,如果返回的状态码是200,则说明设置错误(这会导致搜索引擎认为你的网站有大量的重复内容,从而降低网站权重)。虽然对于来访用户来说,HTTP状态码是“404”还是“200”并没有什么区别,但是对于搜索引擎来说,它却非常重要。
简单来说,404就是在当前页面做一个返回首页或其他页面的链接,这个链接告诉搜索引擎我们的页面已经不再有效,要求“蜘蛛”重新抓取首页!这样,当蜘蛛抓取到死链接(404页面)时,就会自动跑到首页去收录。也就是说,404的出现,不仅可以让搜索引擎数据库更快的删除这些死链接,还可以让蜘蛛更勤奋的学习新的网站,可谓一举两得。
设置 404 页面
笔者总结了两种在APACHE中设置404页面的方法,当然你得先写好404页面,毕竟它本质上就是一个HTML页面,内容可以自己发挥想象,比如可以写个小游戏,展示网站其他内容,或者404慈善等等。这里我写了一个文件,命名为404.htm,放在本地服务器的根目录下(localhost/404.htm)。
方法 1 - .htaccess 设置:
第一种方法是在.htaccess文件中进行相关设置。
什么是htaccess?一般来说,htaccess文件是Apache服务器中的一个配置文件,负责相关目录下的网页配置。通过htaccess文件,我们可以实现:网页301重定向、自定义404错误页面、修改文件扩展名、允许/阻止特定用户或目录的访问、禁止目录列表、配置默认文档等功能。
关于htaccess文件的更多信息请参考文章末尾的链接或者在Google、百度上搜索。
这个文件奇怪吗?没有文件名。其实也不奇怪,如果你用过Git,你一定见过.git文件夹。但是本地服务器上没有这个文件?在Windows中如果强制从另一个文件更改文件名,会提示“你必须输入文件名”,所以我们可以用命令行。
打开cmd,cd到指定目录,使用以下命令创建.htaccess文件:
echo.>.config
上面提到了,htaccess文件是负责配置相关目录下的网页的,所以服务器下的任何文件夹都可以有自己的htaccess文件,这里我们把它放在根目录下。
打开文件并将以下内容复制到其中:
ErrorDocument 404 /404.htm
这时候如果再次打开localhost/fuck.htm的话,页面内容就会变成404.htm的内容,并且会返回404状态码,但是URL不会发生改变。
(PS:这个在本地已经生效了,但是有文章指出需要在conf文件里做一些修改,如果没有生效可以参考这里)
这里有几点需要注意:
方法 2-vhosts 设置:
假设您已经像原始发布者一样设置了 vhost。(如果没有,请参考如何在 WampServer 中配置多个域名)
接下来的步骤就很简单了,打开vhosts文件(例如我的路径是\wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf),修改如下:
DocumentRoot "c:\wamp\www"
ServerName localhost
ErrorDocument 404 /404.htm
注意事项与htaccess设置相同。
总结
404页面是一个成熟网站必备的,主要有两个作用:有利于用户体验和SEO。Apache中设置404页面有两种方式,htaccess和vhosts。有文章指出尽量使用后者,前者比较耗资源。设置注意事项请参考第二节。