信我们访问网站的过程中,经常会出现404 not found的情况,如果不做任何的处理,不但界面比较丑、不利于搜索引擎优化,而且用户的体验也很不好,用户一懵B可能就会直接关闭页面,离开你的站点。
网页服务器默认的404页
当网站上的某些页面路径发生了改变或者内容被删除了,导致原地址访问本页面时,就会提示页面不存在,这样就产生了死链接,当一个网站死链接过多的时候,蜘蛛将无法继续爬行,导致搜索引擎对网站的关注降低,影响你的网站整体权重、收录及排名。
界面可以自定义,变得美观大方
可以引流,在404页面放上首页链接,可以把用户拉首页,同样可以让蜘蛛再去爬一次首页,这样不仅仅让搜索引擎的数据库更快的删除掉这些死链接,还能让蜘蛛更加勤快的认识新网站。
……
自定义的404页面
如果你用的虚拟主机,应该可以直接在控制面板中设置404页,如果你用IIS服务器,打开IIS,在“网站属性”中找到“自定义错误”,并将HTTP404错误文件指向一个新建的404.html,我们具体讲一下Apache服务器如何设置404页。
方法一:设置.htaccess文件
htaccess 文件是 Apache 服务器中的一个配置文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
1.新建.htaccess文件
注意这个.htaccess文件没有文件名只有后缀,所以并不能直接在window上通过修改文件后缀获得,我们可以用命令行创建这个文件。
打开 cmd,cd 到指定目录后,用如下命令便可创建一个 .htaccess 文件
echo.>.htaccess
htaccess 文件负责相关目录下的网页配置,我们把它放在根目录下。
2.编辑该文件,将以下内容复制进去
ErrorDocument 404 /404.htm
注意:如果IE浏览器上没有效果,肯定是你的 404 页面内容太少了,至少需要 512 b才能征服它。
方法二:vhosts 设置
如果你设置过vhosts,可以直接打开 vhosts 文件,修改如下:
<VirtualHost *:80>
DocumentRoot "D:\phpStudy\WWW"
ServerName localhost
ErrorDocument 404 /404.htm
</VirtualHost>
第一种方法比较简单但是比较耗费服务器资源,建议用第二种方法。另外,还需要注意两点:1,不要在404页上直接跳转到首页,搜索引擎会直接标记你的行为为违规行为。2,设置好以后最好再检查一遍网页的http状态,如果是200状态,表示这是一个正常页面,会造成大量URL地址都是显示这个页面,搜索引擎会误以为网站上有大量重复的内容,这样可能会造成网站被降权或被K掉。
04页面是网站优化中必不可少的基础优化之一,随着网站运营时间的不断延长,网站上原来的网页内容可能会被删除,但是该网页的链接地址往往会以各种内链、外链形式存在,如果使用的是一些锚文本链接,这些文字内容可能会吸引到用户点击,而对应的页面却已经删除,此时如果没有设置404页面,那么用户获得的页面就是一个错误的页面,而搜索引擎 获得的路径则变成了死路。正因如此又将这类链接称之为死链
一、什么是404页面
404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面。当用户输入了错误的链接时,返回的页面,它会告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开,自定义404错误页面是增强用户体验的很好的做法。
二、404页面作用
404页面是网站必备的一个页面,它承载着用户体验与SEO优化的重任。404页面通常为用户访问了网站上不存在或已删除的页面,服务器返回的404错误。如果站长没有设置404页面 ,会出现死链接,蜘蛛爬行这类网址时,不利于搜索引擎收录。
三、404页面错误提示
是WWW网站访问比较经常出现的错误。最常见的出错提示:404 NOT FOUND。404页面就是当用户输入了错误的链接时,返回的页面。
四、404页面对seo的影响
自定义404错误页面是增强用户体验的很好的做法,但在应用过程中往往并未注意到404页面对搜索引擎的影响,譬如:错误的服务器端配置导致返回状态码“200”或自定义404错误页面使用Meta Refresh导致返回“302”状态码。
五、404页面设置的好处
1、引导用户不要关闭网站,增强用户体验。
2、防止网站出现死链接。
六、404页面设置方法
方法一:下载404页面模板
1、下载后,解压文件,里面有一个404文件夹和404.php两个文件;如下图;需要注意的是404文件里面有一张图片,图片和404文件夹请不要重命名,以免影响显示效果。
2、用Dreamweaver软件,打开404.php这个文件,如下图所示,将双引号之间的“http://idc02.com”修改成你自己的网址,修改完成后,点击“文件”-“保存”。
3、打开FTP上传工具,将404文件夹和404.php上传到网站的根目录的主题文件夹,如果提示覆盖的话直接覆盖。(若你不知道你的网站根目录是哪个文件夹,可以咨询你的空间服务商)。
4、上传完成后,登陆空间控制面板,找到出错页面(一般空间的名称可能有所不同,要是没找到的话就咨询一下空间服务商看看),在“出错页面”中进行设置。
5、最后我们打开浏览器,输入我们的网址,在网址后面随意敲打一些字母或数字,然后回车,就能看到如下404页面效果图了,当我们点击“返回网站首页”时,就会回到我们网站的首页,这样一个简单的404页面就设置好了!
方法二:制作404页面
1、打开Dreamweaver软件,(不知道Dreamweaver软件怎么用的话百度,这里就不多说了)点击新建php文件,在标题中自定义书写你想要书写的内容,在标签中自定 义书写你想要书写的内容,然后点击文件保存,文件名为404,保存到桌面
2、打开FTP软件,登陆FTP,找到网站根目录,找到主题文件件,找到404.php文件,把制作好的404页面上传,替换原来的404.php,如果提示覆盖直接覆盖。打开网站,输入错误地址,检测404页面是否生效。这样我们网站404页面最简单的制作就完成了。
方法三:(适合对wordpress代码比较熟悉的同学来操作,若你对代码尚不熟悉的情况下,这里建议你使用第一种方法来设置404页面)
1、我们通过学习“wordpress模板结构分析”,我们知道index.php是存放网站的首页模板的地方,当然了,事实上这也不完全是这样的,首页模板的名称与制作主题(模板)的人的习惯和喜好有关,这只是一个代号而已,如果你高兴,这个代号叫“awt”、“bog”都行,熟悉代码的童鞋一般就能很快找到首页模板的文件。
2、找到首页模板文件后,(这里我们拿index.php文件来演示),从FTP工具上下载下来,并重命名为404.php
3、用Dreamweaver软件打开404.php,将文件中最大的
标签里面的内容全部删除,然后在标签里面书写如下内容:
你要查找的内容不存在!返回网站首页
编辑好后,点击“文件”-“保存”。
4、将修改好的404页面上传至你的网站根目录/wp-content/themes/你安装的主题/这个路径即可。
以上三种方法就是比较简单的404页面设置,当然现在大部分网站主题都自带了404页面设置,如果你不满意网站主题自带的404页面的话可自行制作或修改。
七、设置404页面注意事项
1、不要将404错误直接转向到网站首页,这将导致首页不被收录
2、/Error.html 前面不要带主域名,否则返回的状态码是302或200状态码
3、404页面符合网站自身的设计风格,最好能加入网站导航和底部(尤其是网站地图)
4、不要使用绝对URL,如果使用绝对URL返回的状态码是302+200
5、404页面设置完成,一定要检查是否正确。但http头信息返回的一定要是404状态。这主要是对搜索引擎有关系,因为如果你网站产生较多页面时候但搜索引擎看到的是很多一样 的正常页面,有可能会误被认为作弊。
6、404页面不要自动跳转,让用户来决定去向。这涉及到404页面的制作,提供用户体验很重要,404页面制作很有学问。
7、提示访客检查拼写
还有一个可能:访客看到404错误页面是由于他们自己在输入URL网址时出现了拼写错误。提示访客检查他们的拼写,但不要失礼。就像我们在上面提到的,你的措辞不要让访客们
感到你是在责备他们。
8、让页面返回404
每个网页都有一个服务器响应代码。 代码200是指页面一切正常,404则是指页面无法被找到。如果你已经指定了自定义的404错误页面,则需要确保页面的标题是返回正确的响应 代码。有几种不同的方法可以做到这一点,最简单的就是用你的htaccess文件来指定错误页面。
9、帮助访客
404错误页面已经呈现在访客面前,表明这个页面并不是他们正在搜寻的。所以你应该设法帮助他们找到原来的页面。确保你的错误页中包含一个选项来协助用户寻找他们想要的页面,甚至可以包括有过更改的页面的链接。
10、放置网站主页链接
不要让访客无处可去或是无法找到你的网站信息。至少应该有一个链接链回你的网站主页。这样一来,从其他网站链接而来的访客就可以了解你以及你的网站,甚至他们可能在你的网站中找到一些他们喜欢的内容。
11、保持品牌风格
我们都看过非常酷的“让访客发现一个巨大的“复活节蛋”“的错误页面的设计案例。但千万不要使这个页面的设计与你网站的其他页面相差太大,否则会看起来这个页面不像你网站的设计,会让访客产生疑惑,误以为自己已经被带到了一个外部网站。
12、修复你的无效链接
如果你得到的数据显示有大量的访客访问您的404页面(检查你的网站的分析数据来确定数量),这表明你的网站上有很多无效链接。你完全可以通过修复这些链接来阻止访客进入404页面。像SiteBeam和Nibbler这样的网站测试工具可以帮助检查是否有无效链接,使你能够迅速找到并修复他们而不必等待别人来告诉你。
总结:尽管404页面被用户看到的概率相对全站的其他页面要小很多,但随着网站的长期积累,404页面难免会出错(如星辰seo博客,虽然现在页面不是很多,但最近也曾出现过错误的链接。)无论是用户的误操作还是服务器的原因,这是一个极少数才会出现的错误情况,作为网页的设计者或者开发者,有时候我们无法控制错误页面的出现,但我们可以通过使用一个定制的404错误页面将损害降到最低。好的用户体验是我们不能放过任何一个小的细节,一我们需要在这个页面很好的把信息传达给用户,二引导用户下一步的操作,引 导用户留在我们的网站而不是沮丧的关闭窗口。从而提高用户体验,最后我要说的就是虽然404页面属于网站结构优化中的一个细节部分,只要我们把这些细节问题一一了解透彻,我相信对于一般的网站的SEO诊断是没任何问题的
1,远程桌面连接,进入服务器。
2,打开Internet信息服务(IIS)管理器,并右击左侧例表中“网站”项下对应的网站。拿以下网站举例,右击唯一出现的那个web项即可,然后点击“属性”,如下图所示:
3,点击“自定义错误”选项卡,将滚动条拖下来。将404,404:2,404:3设置为您上传上去的404页面文件,如下图所示:
注意:消息类型要设置为“文件”,如下图所示:
按道理来说,按上面方法设置后就可以了。按照上面方法设置后却不起作用。我访问不存在的网址时,并没有跳转进入到我设置好的404错误页面。
我在网上搜索后,才知道需要将404.htm文件加上权限IIS_WPG,于是打开我的网站所在的文件夹,右击404.htm文件并点击“属性”,然后在弹出窗口中点击“安全”选项卡。却神奇地发现上面的“组或用户名称”中并没有IIS_WPG这一项。如下图所示:
操作到这里点击了上图红框中的“添加”按钮。然后在弹出窗口中点击“高级”,如下图所示:
然后再点击下图红框中的“立即查找”按钮,稍等一秒钟,然后点击搜索结果中的IIS_WPG并点击确定按钮即可。
这样就设置好了。我在浏览器中访问我网站上不存在的网页时就自动跳转到了指定的404错误页面上去了。另外网上还说要确保404错误页面文件要超过512B,如果没有超过的话是不行的。这个因为我没有测试过。如果您按照上面的方法设置后,还是不起作用的话,可以看下文件占用空间大小,确保其超过了512B。
、背景
测试人员突然向我反馈,说线上的接口访问不了,返回404了。确认问题确实存在,在查找原因的过程中接口恢复正常。感觉这个问题还是挺有意思,所以记录下来。
二、404状态码
404 Not Found,一般情况都是指请求服务器上没有的资源
三、解决问题的过程
1.首先想到的是,服务器上的接口文件没了,登进去查看文件是正常的
2.考虑是否是nginx的配置更改导致访问不到,查看了下也是正常
3.接口又恢复正常,考虑是不是公司网络调整导致的,问了问运维网络也没有任何调整
4.查看nginx上面的日志发现确实请求到了服务器上,并且返回了404
查到这里之后就隐约感觉到可能要涨见识了
5.接下来查看了nginx的错误日志(error.log),看到频繁报以下的报错
18522#0: *5382085 recv() failed (104: Connection reset by peer) while reading response header from upstream
6.根据这个报错查找网上资料,说是由于php的运行时间超过php-fpm设置的超时时间(request_terminate_timeout)会提示这个错误
7.将request_terminate_timeout设置值增大,重启php-fpm,验证问题解决
四、写文档真有用
1.之前的解决过程就是如第三步所示,但是在记录问题的时候突然思考这种情况不应该报502的错误么......
2.在测试环境进行验证下,写个接口,里面sleep(50),在浏览器中访问下,果然如预期返回了502......
3. ..........
4.继续查找之前的error.log日志,发现还有以下的报错
18523#0: *5381683 open() "/var/www/html/50x.html" failed (2: No such file or directory)
5.看了下nginx.conf,找到以下配置
error_page 500 502 503 504 /var/www/html/50x.html;
6.在测试环境验证了下,出现了预期的404,大功告成。
*请认真填写需求信息,我们会在24小时内与您取得联系。