Перенаправление не работает для пустого пользовательского агента

Перенаправление не работает для пустого пользовательского агента

У меня есть правило перенаправления в htaccess. Обычно это работает отлично, но в этом случае у бота/хакера пустой user agent. В domlog показано,

xxx.xxx.xxx.xxx - - [30/Dec/2013:15:56:33 -0600] "POST /path/to/file.php HTTP/1.1" 301 426 "-" "-"

Однако пользователь на самом деле не перенаправляется. Я знаю это из журналов, потому что они впоследствии не отправляются в нужное место. Я предполагаю, что это связано с пустым user agent, но я не уверен.

Мое правило htaccess такое:

RewriteEngine On
RewriteRule ^file.php$ http://www.example.com/otherfile.php [R=301,L]

Кто-нибудь знает, почему этот конкретный человек не перенаправляется? И есть ли способ обойти это?

решение1

Не знаю точно, почему не происходит перенаправление, однако вы можете попробовать заблокировать все пустые пользовательские агенты с помощью этого правила:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteRule ^.* - [F]

Связанный контент