Конфигурация htaccess для блокировки в зависимости от агента браузера
, как противоположность этого кода делается?
например, запрещение ^. Chrome / 10 . $
entry
Ответ, с которым вы связались, содержит следующий код:
RewriteCond %{HTTP_USER_AGENT} ^.*Chrome/10.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Firefox/4.*$
RewriteRule .* - [L]
RewriteRule .* http://example.com/browsererror.html [R,L]
Этот позволяет запросы от пользовательских агентов, которые соответствуют шаблону ^.*Chrome/10.*$
или ^.*Firefox/4.*$
. Он делает это, по сути ничего не делая (- [L]
), когда эти запросы попадают на ваш сайт и перенаправляются иначе.
Чтобы сделать абсолютно противоположное и заблокировать запросы от этих пользовательских агентов путем перенаправления, просто удалите второй RewriteRule
и перенаправьте в первом:
RewriteCond %{HTTP_USER_AGENT} ^.*Chrome/10.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Firefox/4.*$
RewriteRule .* http://example.com/browsererror.html [R,L]
Однако, это не обязательно "лучший способ" заблокировать запросы от конкретных пользователей-агентов. Вместо того, чтобы использовать mod_rewrite, подумайте об использовании mod_setenvif и соответствующего модуля mod_authz... (в зависимости от того, работаете ли вы с Apache 2.2 или 2.4). И вместо перенаправления подавайте 403 Forbidden. Например: