Оптимизировать файл .htaccess

Оптимизировать файл .htaccess

Я пытаюсь оптимизировать свой файл .htaccess, чтобы избежать проблем с производительностью.

В моем файле .htaccess есть что-то вроде этого:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} bigbadbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} otherbot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} otherbot2 [NC]
RewriteRule ^.* - [F,L]

Первое правило перезаписи (bigbadbot) обрабатывает около 100 запросов в секунду, тогда как два других правила перезаписи, расположенных ниже, обрабатывают всего несколько запросов в час.

Мой вопрос заключается в следующем: поскольку первое правило перезаписи (bigbadbot) обрабатывает около 99% трафика, будет ли лучше поместить эти правила в два отдельных набора правил?

Например:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} bigbadbot [NC]
RewriteRule ^.* - [F,L]

RewriteCond %{HTTP_USER_AGENT} otherbot1 [NC,OR] RewriteCond %{HTTP_USER_AGENT} otherbot2 [NC] RewriteRule ^.* - [F,L]

Что будет лучше с точки зрения производительности? Кто-нибудь когда-нибудь это тестировал?

решение1

По сути, это не должно иметь никакой разницы в производительности, поскольку как только один Cond совпадает с блоком OR, остальные не обрабатываются (в этом нет смысла). Технически, в первую очередь, выполняется некоторая обработка из-за блока OR, поэтому я полагаю, что разбиение на части будет немного более эффективным.

Я бы сосредоточил свои усилия в другом месте, если у вас проблемы с производительностью. Возможно, профилирование любого приложения, которое вы обслуживаете. Кроме того, если это размещено, у хостера может быть слишком много веб-сайтов на одном сервере.

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