Допустим, моя цель — ограничить количество пользователей, одновременно посещающих мой сайт через пользовательский агент «Mozilla» (Firefox). Возможно ли это сделать в Apache 2.2?
Я думаю использовать что-то вроде:
RewriteCond %{HTTP_USER_AGENT} "mozilla" [NC]
и
MaxClients 0
Однако я не знаю (если это возможно), как заставить оба правила работать вместе?
решение1
Нет. Думайте о MaxClients как о переменной высокого уровня на стороне сервера, а о Rewrites как о чем-то на vhost. Они не смешиваются так, как вы хотите.
Вам нужно будет поискать сторонний модуль, который может сделать то, что вы ищете - что-то вродеhttp://opensource.adnovum.ch/mod_qos/может подойти вам?
Однако это может не решить проблему, которую вы пытаетесь решить. Например, Mozilla может быть отправлена множеством различных приложений, которые не являются конкретно Firefox. Вот несколько примеров нескольких мобильных устройств.
"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/45.0.2454.101 Safari/537.36"
"Mozilla/5.0 (Linux; U; Android 4.2.2; de-de; Vodafone Smart Tab 4 Build/JDQ39) AppleWebKit/534.30 (KHTML, как Gecko) Версия/4.2 Mobile Safari/534.30"
Они используют Chrome, Safari, какой-то браузер Apple или Firefox? Понятия не имею. Вам нужно быть более конкретным, если вы ищете конкретно, только браузеры Firefox (см.http://www.useragentstring.com/pages/Firefox/для списка этих строк).