最近发现博客响应时间很慢,检查了下日志,发现竟然是百度的蠢蜘蛛在那死爬,爬的链接示例:

/software-exp/page/2?-teamviewer?o?o_html/page/100/page/100/page/3/page/2/page/2/page/3/page/2/page/3/page/2/page/3/page/3/page/115/page/4/page/3/page/2&-teamviewer 

这问题之前遇到过,只不过当年改了代码,后来升级博客就覆盖掉了,也没见有什么问题就没再管,今天再次发病,索性翻了下存档,按当年方式处理~

真是懒得吐槽,直接硬改index.php:

$url = $_SERVER["REQUEST_URI"];
if(strpos($url,'?o?o')!==false){
$url = substr($url, 0, strpos($url,'?'));
header("Location:域名/{$url}/");
die();
}

解决问题~

2018.2.28 补充,后来发现这样不是还是要走PHP吗?直接nginx判定不就好了吗?结果location尝试半天不灵……
https://stackoverflow.com/questions/49022484/how-to-use-regex-like-page-page-in-nginx-location
然后大神指出,特么的那是参数啊,那根本不是链接!阿西吧,一语惊醒梦中人,直接:

if ($query_string ~ "/page/.*/page/") {
return 404;
}

即可。

Related Posts: 百度蠢蜘蛛 :

avatar