网站优化过程首页快照不更新暨遭遇百度蜘蛛返回码304终极处理办法
最近发现网站LOG里的百度蜘蛛爬行越来越离奇。很多页面遭遇了百度蜘蛛光爬过但是不更新的现象。查看LOG发现一大堆的304 0 0返回码。查找了下有关的资料。
304 Not Modified,告诉客户端文件没有改变,可以使用客户端缓存文件,所以说304不是所谓的错误,客户端有缓冲的文档并发出了一个条件性的请求,服务器告诉客户,原来缓冲的文档还可以继续使用。
但是我的主页明明每天更新,内容几乎也全是原创或者伪原创的啊。
看来还是服务器缓存的问题啊。情急之下,翻遍整个百度和谷歌有关于这个问题的处理办法。有的说在静态页面上设置不缓存,有的说要改服务器注册表,总之众说纷纭,也不知道相信谁的。没办法,只好自己改改看吧。
问题分析:
出现这种情况我确定是由IIS缓存引起的,IIS缓存一方面能提高服务器性能,另一方面却给网站带来严重上的更新问题,那我们应该如何手动去清理它呢?接下来教大家一个手动清理IIS缓存的方法!
首先,我们看一下 HTTP 协议,您会发现从服务器返回的 HTTP 头里面能定义这样一条命令 Cache-Control: no-cache。这个就是我们解决问题的办法,让我们来看看该如何通过 IIS 配置管理工具来把这条命令添加到每次服务器的 HTTP 返回头里吧。
第一步:
打开 IIS 配置管理工具(Internet 信息服务(IIS)管理器)。
选中一个网站(如果您想为所有站点配置,请选择点中“网站”那个图标),点“属性”按钮,会弹出一个配置窗口
第二步:
选择“HTTP 头” TAB 标签,然后您会看到:“自定义 HTTP 头”这么一栏。OK!就是这里了,终于到了!
第三步:
点旁边的“添加(D)...”按钮,来添加上那条命令。
在弹出的窗口中:“自定义 HTTP 头名(C)”中输入:“Cache-Control”,在“自定义 HTTP 头值(U)”中输入:“no-cache”。
好了,到这里就全部 OK 了,一路点“确定”保存即可。问题解决!