Wordpress 如何使用正则表达式匹配.htaccess中的主机名?

Wordpress 如何使用正则表达式匹配.htaccess中的主机名?,wordpress,apache,.htaccess,mod-rewrite,bots,Wordpress,Apache,.htaccess,Mod Rewrite,Bots,我正试图在我的WordPress站点中使用.htaccess阻止一个bot 主机名是:ec2-D1-D2-D3-D4.us-east-2.compute.amazonaws.com 其中,D1、D2、D3、D4为1-3位的顺序,即[0-9]+将匹配 在某些情况下,仅存在D1、D2和D3 我正在努力: RewriteCond %{HTTP_REFERER} ^ec2-[0-9]+-[0-9]+-[0-9]+\.us\-east\-2\.compute\.amazonaws\.com$ [OR] R

我正试图在我的WordPress站点中使用.htaccess阻止一个bot

主机名是:
ec2-D1-D2-D3-D4.us-east-2.compute.amazonaws.com

其中,D1、D2、D3、D4为1-3位的顺序,即[0-9]+将匹配

在某些情况下,仅存在D1、D2和D3

我正在努力:

RewriteCond %{HTTP_REFERER} ^ec2-[0-9]+-[0-9]+-[0-9]+\.us\-east\-2\.compute\.amazonaws\.com$ [OR]
RewriteCond %{HTTP_REFERER} ^ec2\-[0-9]+\-[0-9]+\-[0-9]+\-[0-9]+\.us\-east\-2\.compute\.amazonaws\.com$ 

RewriteRule ^.*$ - [F,L]


它似乎不起作用。我遗漏了什么?

请尝试以下内容,fair warning尚未对其进行测试,还修复了此处的正则表达式,并且
HTTP\u REFERER
不直接从hotname开始,因此删除了主机名前的
^
部分(所有值均为示例/测试值,仅在问题中提供)

重新编写引擎打开
重写cond%{HTTP\u REFERER}ec2-([0-9]+-){1,}[0-9]+\.us-east-2\.compute\.amazonaws\.com[NC]
重写规则^-[F,L]

你把代码放在你的wordpress
重写规则上面了吗?@AmitVerma是的。.htaccess中的第一行不工作。谢谢你压缩正则表达式。@Mulli,无论我在文档中看到什么样的例子,这都应该有效。你的推荐人应该从http或https开始,清除缓存并尝试一次如何。我更喜欢:
RewriteCond%{http\u REFERER}ec2(-0-9]+){3,4}\.us-east-2\.compute\.amazonaws\.com[NC]
@Mulli,当然,谢谢分享,如果这对你有用,那为什么不:)虽然我是根据展示的样本编写的,但你比我们更了解你的样本:)或者你可以在
ec2
条件之前添加
^http[s]?:/(?:www\)
(如果它适用于wordpress的引用值)。