54.215.234.39 - - [02/Apr/2014:10:51:35 -0400] "GET /ProductSearch.aspx?qs=94307 HTTP/1.1" 404 11414 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0"
我得到了很多这些请求从各种IP地址发送到我的Apache服务器。 我们曾经使用一个基于aspx的网站。 现在它是PHP。 这些请求是洪泛的服务器。 我怎样才能阻止其中包含string“ProductSearch.aspx”的所有请求?
如果请求/ProductSearch.aspx您可以发送一个403 Forbidden (拒绝访问):
RewriteEngine On RewriteCond %{REQUEST_URI} ^/ProductSearch.aspx RewriteRule ^(.*)$ - [F,L]
但是,请注意,这些请求仍然会到达您的服务器,并会出现在您的access.log (但403而不是404 )。
为了避免这种情况,您必须在Web服务器之前进行过滤。 这可以通过一个反向代理来完成,但这是一个完整的另一点。
另外,正如@Michael Hampton在评论中提到的那样,您可以将请求*.aspx文件的所有请求redirect到*.php页面。
(假设,例如yourpage.aspx已被yourpage.aspx所取代):
RewriteEngine On RewriteRule ^(.*).aspx$ $1.php [R=301]
这将redirect
http://mydomain.com/ProductSearch.aspx?qs=94307 至
http://mydomain.com/ProductSearch.php?qs=94307