纯技术贴,终于通过BT宝塔面板解决了网站首页自定义URL请求的问题,大家如果经常看本站的话,应该看过我写过的一篇关于/?q=的问题吧,真的很烦人的一个问题,而且最近小编还发现了专门针对网站首页的/?ad=、/?wd=、/?key=等自定义URL请求,而且这种针对网站首页的自定义URL还都被搜索引擎收录了,严重造成首页权重分散。
BT宝塔面板拒绝恶意自定义URL请求
以前的文章小编说过了,这种网址/?q=网址的URL问题在很多网站都存在,这种问题URL目测是一种黑帽SEO手法,专业点的叫法应该叫做搜索留痕,就是让你本来唯一的页面再不破坏网站源码的情况下,让搜索引擎认为你的唯一网址有很多个页面,从而进行收录。
具体的大家可以了解一下这篇66分享网(66fxw.com)小编写的文章《网址/?q=网址,是什么意思,有大神知道吗》,当时这个问题把小编整的无奈的很。

而且最近小编又发现了一些类似的恶意自定义URL,例如:网址/?ad=网址、网址/?wd=网址、网址/?key=网址,于是我意识到这个问题必须得解决了,各种研究找解决方法,最后想起BT宝塔面板的Nginx防火墙是支持URL过滤的,便想着能不能使用BT宝塔面板的Nginx防火墙来过滤这些恶意自定义URL。
于是就想着问问BT宝塔面板的运维人员,看看应该如何设置BT宝塔面板的Nginx防火墙来过滤这些恶意自定义URL,最后BT宝塔面板的运维人员给了我一个解决方案,不过不是使用BT宝塔面板的Nginx防火墙来过滤这些恶意自定义UR,而是在站点配置文件里添加如下代码来拒绝恶意自定义URL访问。
网站拒绝恶意自定义URL访问代码
#禁止自定义URL参数
if ($args ~* "^wd="){
return 403;
}
#禁止自定义URL参数
if ($args ~* "^q="){
return 403;
}
#禁止自定义URL参数
if ($args ~* "^key="){
return 403;
}
#禁止自定义URL参数
if ($args ~* "^ad="){
return 403;
}
注释:$args表示请求的参数,~*表示匹配不区分大小写,”^wd=”表示匹配以wd=开头的参数,如果请求的参数中包含wd=,则返回403错误,拒绝访问。
结语
使用BT宝塔面板终于解决了困扰小编的网站首页恶意自定义URL请求问题,大家如果有遇到跟我一样的问题,不妨使用该方法来解决一下相关问题,当然了小编觉得我列出的/?q=这个问题应该不限于只有以上四种,可能这个q还能变成其他的一些字母组合,大家有遇到的话可以分享在评论区我们一起看看。
