最近发现博客响应时间很慢,检查了下日志,发现竟然是百度的蠢蜘蛛在那死爬,爬的链接示例:
/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;
}
即可。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。