Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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
Php SetEnvifLocase Referer-仅适用于特定单词_Php_.htaccess - Fatal编程技术网

Php SetEnvifLocase Referer-仅适用于特定单词

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。这是我尝试过

有几个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。这是我尝试过的,但我需要确保这是正确的方法,它只包括包含“/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]

它应该可以很好地工作,但是使用正则表达式,您可以微调过滤器,也可以尝试通过重写引擎进行同样的调整