我们有时候会发现一个网站点进去,会是404页面,这是怎么回事呢?

难道是这个网站打不开或者没有这个页面吗,确实有可能,但是还有一种可能性。

就是这个网站只允许蜘蛛访问,所以我们看网页快照或点进去发现是两个不同的呈现方式。

其实这是一种黑帽seo的手法,让网站只允许蜘蛛抓取,而不让访客访问,这是黑帽seo中的蜘蛛劫持手法。

直接上代码,这里我们可以通过nginx配置文件来达到这种效果:

if ($http_user_agent !~* "Baidu|Yisou|Sogou|Google")
{
return 404;
}


这串代码,我们放到伪静态或者nginx配置文件里面都可以实现,当然不止修改配置文件一种方法。

代码释义:$http_user_agent   简称UA, ~* 为任意包含,不区分大小写,如果是不包含,则为:!~*

这句话的意思就是如果UA里不包含baidu, 神马,搜狗,谷歌字符的话,则返回404,编辑404.html页面,显示你想要的内容,比如广告。

其实除了呈现404页面我们也可以实现劫持访客跳转:

if ($http_user_agent !~* "Baidu|Yisou|Sogou|Google")
{
   return 301 http://www.hao123.com;
}

这个为301跳转,下面的代码为302跳转

if ($http_user_agent !~* "Baidu|Yisou|Sogou|Google|6531.22.7")
{
return 302 http://www.baidu.com;
}