在.htaccess中按域阻止/重定向的问题

时间:2014-07-05 00:37:04

标签: regex .htaccess mod-rewrite block referrer

这是我现有的.htaccess代码供参考:

RewriteEngine on
RewriteCond %{HTTP_REFERER} offendingdomain
RewriteRule ^ http://www.google.com/? [R=301,L]

到目前为止,我在SO和其他网站上阅读的所有内容都说 应该工作,但违规网站仍未被我自己重定向。另外,我已尝试使用下面的代码进行阻止,但这也无法正常工作。

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} offendingdomain [NC]
RewriteRule .* - [F]

有没有人有任何想法,为什么这不起作用,我应该如何解决它?在此先感谢...任何帮助将不胜感激!

谢谢 - 布兰登

1 个答案:

答案 0 :(得分:0)

当您尝试在违规站点上执行任何操作(单击链接或使用搜索表单)时,重定向工作正常。所以在我看来,只要流量为referred%{HTTP_REFERER}条件正在发挥作用。

让我们尝试添加另一个条件,以防有人试图直接访问不良网站(在这种情况下没有推荐)。因此,我们将加强现有规则:

RewriteEngine on
RewriteCond %{HTTP_REFERER} offendingdomain [OR]
RewriteCond %{HTTP_HOST} offendingdomain
RewriteRule ^ http://www.google.com/? [R=301,L]