Regex 如何禁止对特定URL的请求?

Regex 如何禁止对特定URL的请求?,regex,apache,url,url-rewriting,Regex,Apache,Url,Url Rewriting,如果发出特定页面请求www.mysite.com/this\u page/,是否可以通过Apache排除对我的站点的访问?引用方IP地址发生更改 我意识到我可以在我的代码中“捕获”这个请求并返回一个错误页面,但我更希望这个请求永远不会出现在我的实际代码中。我也可以删除页面,但是我的站点会返回“未找到页面”页面。所以,还是一页 我的主机是Web派系,我使用Django。这就是阿帕奇 原因是我在这个页面上看到了一些奇怪的活动。出于好奇,我每天会收到20次关于这个页面的请求,在2秒内会有1-3次请求。

如果发出特定页面请求
www.mysite.com/this\u page/
,是否可以通过Apache排除对我的站点的访问?引用方IP地址发生更改

我意识到我可以在我的代码中“捕获”这个请求并返回一个错误页面,但我更希望这个请求永远不会出现在我的实际代码中。我也可以删除页面,但是我的站点会返回“未找到页面”页面。所以,还是一页

我的主机是Web派系,我使用Django。这就是阿帕奇


原因是我在这个页面上看到了一些奇怪的活动。出于好奇,我每天会收到20次关于这个页面的请求,在2秒内会有1-3次请求。IP地址是乌克兰语。推荐者大多是各种各样的乌克兰网站,这些网站看起来很真实,但它们并不包含指向我的网页的实际链接。

我不认为封锁整个国家是个好主意,但下面介绍如何做到这一点

首先,获得一份有关国家的苹果酒清单。对大多数国家来说,这将是一个庞大的清单。有一个地方可以做到这一点。然后,只需将它们放入
.htaccess
或Apache配置文件中:

<Location /this_page>
    order allow, deny
    deny from 5.1.0.0/19
    deny from 5.22.156.0/22
    deny from 5.34.176.0/21
    deny from 5.53.112.0/21
    deny from 5.56.24.0/21
    deny from 5.57.64.0/21
    deny from 5.58.0.0/16
    deny from 5.83.16.0/21
    deny from 5.104.32.0/19
    deny from 5.105.0.0/16
    #...
</Location>
(注意,
%{HTTP_REFERER}
没有双Rs。规范拼写错误,上面的配置没有。)


如果你被高音量击中,你可能想考虑在防火墙级别而不是Apache删除连接。同样,这将由客户而不是推荐人进行。

为什么不使用.htaccess?并在其中准确地写下什么?我还没见过这样的东西,读吧。我仍然不知道这是否是您想要的,所以告诉我。它排除了一个文件(在这种情况下是一个.php页面),但我需要排除一个url,一个不包括文件扩展名的url。不确定是否可以使用它?您可以使用此处说明的技术之一-
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^https?://[^:/?#]*\.ua[:/?#]
RewriteRule ^/this_page - [F,L]