Apache 如何阻止对以/trackback/in.htaccess结尾的URL的POST请求?

Apache 如何阻止对以/trackback/in.htaccess结尾的URL的POST请求?,apache,.htaccess,Apache,.htaccess,我想阻止对网站上特定URL的POST请求。以下是来自我的Apache日志的垃圾邮件POST请求示例: 110.86.178.xxx - - [14/Jan/2015:17:05:05 +0000] "POST /profile/example/trackback/ HTTP/1.1" 200 85 "http://example.com/profile/example/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozil

我想阻止对网站上特定URL的POST请求。以下是来自我的Apache日志的垃圾邮件POST请求示例:

110.86.178.xxx - - [14/Jan/2015:17:05:05 +0000] "POST /profile/example/trackback/ HTTP/1.1" 200 85 "http://example.com/profile/example/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )"
我将以下代码添加到.htaccess文件中:

# deny POST requests
<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_METHOD} POST
    RewriteRule /profile/example/trackback/ [F,L]
</IfModule>
#拒绝POST请求
重写cond%{REQUEST_METHOD}POST
重写规则/profile/example/trackback/[F,L]
不幸的是,我仍然收到回溯电子邮件,所以它不起作用

问题是什么?我如何解决这个问题? 另外,如何修改代码以阻止发送到以/trackback结尾的URL的所有POST请求/


谢谢

您可以在root.htaccess中使用此规则:

RewriteEngine On

RewriteCond %{REQUEST_METHOD} POST
RewriteRule (^|/)trackback/?$ - [F,NC]
尝试:

# deny all POST requests
<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_METHOD} POST
    RewriteRule .* - [F,L]
</IfModule>
#拒绝所有POST请求
重写cond%{REQUEST_METHOD}POST
重写规则。*-[F,L]

更多信息。

谢谢马克。原谅我,但这不是拒绝所有的post请求吗。尽管我无意中留下了评论,但我只想阻止对特定URL的POST请求-理想情况下是对以/trackback/结尾的URL的POST请求。您是否试图在wordpress中阻止它?是的,它是wordpress网站,但我试图阻止.htacess文件。请记住wordpress有时会覆盖.htaccess文件,因此,也许最好将其放入apache站点的可用文件中。谢谢。有没有办法阻止对任何以/trackback/结尾的url的POST请求?例如:,,是的,当然,只需将规则更改为:
RewriteRule/trackback/?$[F,NC,L]
No,不幸的是没有。但是,我将代码稍微更改为
RewriteCond%{REQUEST\u METHOD}POST
,然后
RewriteRule^trackback/?$-[F,NC,L]
,到目前为止它似乎已经停止了trackback。ok answer更新了
任何以/trackback/
结尾的url的正确正则表达式。您可以点击我的答案左上角的勾号,将答案标记为已接受。