Apache 通过.htaccess阻止bot站点

Apache 通过.htaccess阻止bot站点,apache,.htaccess,mod-rewrite,bots,spam,Apache,.htaccess,Mod Rewrite,Bots,Spam,我只是写了一些重写条件,以阻止一堆机器人网站。我成功地阻止了其中的许多,只有三个包含连字符破折号。因此,由于它们都包含单词按钮,我尝试使用以下重写条件截取它们: RewriteCond %{HTTP_REFERER} ^http://.*buttons.*\.com/ [NC,OR] my.htaccess中的整个重写代码如下所示: RewriteCond %{HTTP_REFERER} ^http://.*buttons.*\.com/ [NC,OR] RewriteCond %{HTTP_

我只是写了一些重写条件,以阻止一堆机器人网站。我成功地阻止了其中的许多,只有三个包含连字符破折号。因此,由于它们都包含单词按钮,我尝试使用以下重写条件截取它们:

RewriteCond %{HTTP_REFERER} ^http://.*buttons.*\.com/ [NC,OR]
my.htaccess中的整个重写代码如下所示:

RewriteCond %{HTTP_REFERER} ^http://.*buttons.*\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*darodar\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*webextract\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*makemoneyonline\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*semalt\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*ranksonic\.info/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*smailik\.com/ [NC]
我未能阻止的3个网站是:

social-buttons.com
buttons-for-website.com
simple-share-buttons.com
和一些变化,与子域


我的看法是,上述条件应该拦截它们。但我一直被垃圾邮件。知道我做错了什么吗?

这是我找到的关于为什么更改apache文件中的设置不起作用的最佳答案。它甚至从来没有打过apache!它只是直接ping GA。另一个最好的答案!大家好,谢谢你的回答:@Mark谢谢你的建议,我一直在试图摆脱破折号,但运气不好,可能是因为我保留了尾随斜杠和http://我将在没有尾随斜杠和http://的情况下再次尝试该解决方案@bloodyKnukles!问题:我能留下首字母吗?我在apache文档中读到,Web服务器需要该符号才能知道匹配的字符串何时开始。再次感谢,^是regex开始的主播。你不必保留它,但它会使正则表达式更紧一点。