想要使用重写模块来阻止apache中的特定网址格式

时间:2018-09-29 17:59:38

标签: regex apache mod-rewrite

我看到我的Apache上的流量突然爆满,其中包含所有无效的URL,但具有特定的模式。以下是一些网址

www.example.com/?1gx2A1WV=Ji7iMHhDsDOHvesb8

www.example.com/?LTn28PGXpg=VQTNObTmrhyF7Pjs2VoX

所以基本上我想在Apache中阻止这种模式。任何带有“?”的东西www.example.com/之后的内容应被屏蔽。

有人可以帮我在apache中创建RewriteRule。 预先感谢。

2 个答案:

答案 0 :(得分:1)

REQUEST_URI不包含查询字符串。 尝试将您的规则与QUERY_STRING匹配

答案 1 :(得分:0)

这应该有所帮助。 RewriteCond与您为请求uri提到的模式匹配。重写规则作为HTTP响应发送回403。您对位置的使用可能会因您的Apache配置而异。

<Location />
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/\?.*$ 
RewriteRule ^.*$ - [F,L]
</Location>