Php SetEnvifLocase Referer-仅适用于特定单词
有几个URL链接到我的站点。我想拒绝访问它们 所有这些网站的URL中都有一个唯一且通用的关键字:/roger23/ 示例URL为:Php SetEnvifLocase Referer-仅适用于特定单词,php,.htaccess,Php,.htaccess,有几个URL链接到我的站点。我想拒绝访问它们 所有这些网站的URL中都有一个唯一且通用的关键字:/roger23/ 示例URL为: example.net/roger23/studie-ee.html second-domain.org/roger23/somt-ohter-file.php yetanotherone.eu/roger23/hello-world 等等 因此,同样,所有这些URL中的常用关键字是:/roger23/ 我想使用.htaccess来拒绝访问此类URL。这是我尝试过
example.net/roger23/studie-ee.html
second-domain.org/roger23/somt-ohter-file.php
yetanotherone.eu/roger23/hello-world
等等
因此,同样,所有这些URL中的常用关键字是:/roger23/
我想使用.htaccess来拒绝访问此类URL。这是我尝试过的,但我需要确保这是正确的方法,它只包括包含“/roger23/”的链接,而不包括其他内容(以防止合法站点链接到该站点)
因此,在htaccess中,我尝试了以下方法:
SetEnvIfNoCase Referer "/roger23/" spam=yes
Order allow,deny
Allow from all
Deny from env=spam
这样做对吗?它似乎有效,但我不想排除任何其他不包含“/roger23/”这个词的合法链接
例如,应允许以下情况:
some-things.net/roger23
some-others2.com/roger23.html
我不知道这里是否应该有引号,或者可能也应该有*或^..您可以尝试使用这种模式来限制对URL的访问,方法是使用
/roger23/
:
SetEnvIfNoCase Referer "^(.*)/roger23/(.*)" spam=yes
Order allow,deny
Allow from all
Deny from env=spam
限制访问的相同问题的另一个解决方案:
# Block visits from /roger23/
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^(.*)/roger23/(.*)$ [NC]
ReRewriteRule .* - [F,L]
它应该可以很好地工作,但是使用正则表达式,您可以微调过滤器,也可以尝试通过重写引擎进行同样的调整