有些事情不断打击我的网站,将PLACEIMPMACROHERE添加到URL的末尾。我不确定它是什么,但它看起来并不好。所以,如果可能的话,我想挫败它。
'将IMP宏置于此处'好像它是一些bot / flooding脚本而且还没有配置好。
如何阻止以PLACEIMPMACROHERE结尾的任何网址,它看起来好像是一个文件夹。它命中如下:
www.website.com/directory/another-directory/PLACEIMPMACROHERE
或者在任何地方,有时并非总是在同一地点:
www.website.com/directory/PLACEIMPMACROHERE
我尝试过但没有成功
RewriteCond %{THE_REQUEST} PLACEIMPMACROHERE [NC]
RewriteRule .* - [F]
有没有人知道哪里出错或完全错了?
答案 0 :(得分:3)
您拥有的规则应该有效,它只是在请求中检查任何位置中的短语,而不仅仅是在最后。你可以通过添加另一个字符作为支票来做到这一点,同时确保规则在你拥有的任何其他字符之前,并且在文档根目录中的htaccess文件中:
RewriteCond %{THE_REQUEST} PLACEIMPMACROHERE($|\ |\?) [NC]
RewriteRule .* - [F]
哦,还要确保你打开了重写引擎:
RewriteEngine
靠近htaccess文件顶部的某个地方。
答案 1 :(得分:3)
我同意Jon Lin,你的mod_rewriting应该可以工作,虽然可以简化:
RewriteRule PLACEIMPMACROHERE - [F]
那就是说,我建议你使用FilesMatch指令:
<FilesMatch "PLACEIMPMACROHERE$">
order allow,deny
deny from all
</FilesMatch>
我认为资源消耗较少,而且复杂程度也较低。