Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 阻止从指定域引用的访问者_.htaccess_Http Referer_Referer - Fatal编程技术网

.htaccess 阻止从指定域引用的访问者

.htaccess 阻止从指定域引用的访问者,.htaccess,http-referer,referer,.htaccess,Http Referer,Referer,我试图通过.htaccess(Apache)阻止来自某些推荐人的访问者 在web上的多个位置发现此代码和变体,但它似乎阻止了所有流量,而不仅仅是引用域: # block visitors referred from indicated domains <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} sweetfreestuff.com [NC,OR] RewriteCond %{HTTP

我试图通过.htaccess(Apache)阻止来自某些推荐人的访问者

在web上的多个位置发现此代码和变体,但它似乎阻止了所有流量,而不仅仅是引用域:

# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_REFERER} sweetfreestuff.com [NC,OR]
 RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
 RewriteRule .* - [F]
</ifModule>
#阻止来自指定域的访问者
重新启动发动机
重写cond%{HTTP_REFERER}sweetfreestaff.com[NC,或]
重写cond%{HTTP_REFERER}wormhole.com[NC,或]
重写规则。*-[F]
也尝试过这种变化,但没有改变:

# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
 Options +FollowSymlinks
 RewriteEngine on
 RewriteCond %{HTTP_REFERER} sweetfreestuff\.com [NC,OR]
 RewriteCond %{HTTP_REFERER} wormhole\.com [NC,OR]
 RewriteRule .* - [F]
</ifModule>
#阻止来自指定域的访问者
选项+FollowSymlinks
重新启动发动机
重写cond%{HTTP_REFERER}sweetfreestaff\.com[NC,或]
重写cond%{HTTP_REFERER}wormhole\.com[NC,或]
重写规则。*-[F]

找到了另一条路线。。仍然是.htaccess,但是一种不同的语法将测试推荐人与禁止推荐人区分开来

# Deny access to all with status "banned"
SetEnvIfNoCase Referer "^http://([a-z0-9\-]+\.)?sweetfreestuff\.com.*$" banned

# Enable Rewrite mode
Options +FollowSymlinks
RewriteEngine On

# 301-Redirect to themselves
RewriteCond %{ENV:banned} ^1$
RewriteCond %{HTTP_REFERER} ^(.*)$

# In any case => 403-Forbidden Page
Order Deny,Allow
Deny from env=banned

在.com之前你不需要反斜杠吗?我想我从来没有试过没有。。。重写之前还有一个#Options+FollowSymlinks?我试过使用斜杠和不使用斜杠。嗯,如果出现500个错误,请尝试注释+FollowSymlinks。并确保@LostPhilospher+followslinks存在与否没有任何区别。我也尝试了不使用IFM模块。还是不走运。我最后用了一种稍微冗长的方式。见下面我的答案。