繁体   English   中英

如何使用mod_rewrite阻止某些HTTP请求?

[英]How to block certain HTTP request with mod_rewrite?

创建的RewriteCond正则表达式不会捕获日志摘录,尽管经过测试。 因此请求不会按预期被阻止。

我想阻止对以下网址的请求

RewriteCond语句正则表达式使用regex101.com对日志摘录进行了测试,但在应用于服务器时似乎没有捕获摘录。

首先我尝试了整个请求URL,但是下面甚至(更短的)RewriteCond也没有抓住请求。 我也试过了

应该被阻止的请求:

www.foobar.com/?eID=FOO&type=bar&search%5Bthis%5D%5Bthat%5D%5Btest%5D%5Blatitude%5D=11.1111111111111

1重写规则 - 不要捕获上述URL:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} ^(\/)[?](eID=FOO)$ [NC]
  RewriteRule ^.*$ - [F,L]
</IfModule>

2与此相同:

RewriteCond %{REQUEST_URI} ^(\/\?)(eID=FOO)$ [NC]

我希望阻止请求。 但以上都没有。

任何帮助是极大的赞赏。 谢谢。

最好的祝福,

REQUEST_URI的insted尝试下面提到QUERY_STRING并确保rewrite_module已加载或已启用

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{QUERY_STRING} ^.*(eID=FOO).* [NC]
    RewriteRule ^(.*)$ - [F,L] 
</IfModule>

LoadModule rewrite_module /opt/jboss/httpd/lib/httpd/modules/mod_rewrite.so

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM