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"
Я получаю много таких запросов, отправляемых на мой сервер apache с разных IP-адресов. Раньше мы использовали сайт на основе aspx. Теперь это php. Эти запросы наводняют сервер. Как я могу заблокировать все запросы, содержащие строку ProductSearch.aspx?
Вы можете отправить 403 Forbidden
(доступ запрещен) в случае /ProductSearch.aspx
запрашивается:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/ProductSearch.aspx
RewriteRule ^(.*)$ - [F,L]
Однако обратите внимание, что эти запросы по-прежнему будут доходить до вашего сервера и появятся в вашем access.log
(но с 403
вместо 404
).
Чтобы этого избежать, вам придется фильтровать перед своим веб-сервером. Это можно сделать с помощью обратного прокси, но это совсем другой момент.
Кроме того, как упоминал @Michael Hampton в комментариях, вы можете перенаправить все запросы, которые запрашивают *.aspx
файл в *.php
страница.
(предполагая, например, что yourpage.aspx
был заменен на yourpage.php
):
RewriteEngine On
RewriteRule ^(.*).aspx$ $1.php [R=301]
Это перенаправит
http://mydomain.com/ProductSearch.aspx?qs=94307
к
http://mydomain.com/ProductSearch.php?qs=94307