Optimizar el archivo .htaccess

Optimizar el archivo .htaccess

Estoy intentando optimizar mi archivo .htaccess para evitar problemas de rendimiento.

En mi archivo .htaccess tengo algo parecido a esto:

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]

La primera regla de reescritura (bigbadbot) maneja alrededor de 100 solicitudes por segundo, mientras que las otras dos reglas de reescritura debajo solo manejan unas pocas solicitudes por hora.

Mi pregunta es, dado que la primera regla de reescritura (bigbadbot) maneja aproximadamente el 99% del tráfico, ¿sería mejor colocar estas reglas en dos conjuntos de reglas separados?

Por ejemplo:

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]

¿Qué sería mejor en términos de rendimiento? ¿Alguien ha evaluado esto alguna vez?

Respuesta1

Básicamente, no debería tener ninguna diferencia de rendimiento, ya que una vez que un Cond coincide en un bloque OR, el resto no se procesa (no tendría sentido). Técnicamente, en primer lugar, se realiza un poco de procesamiento debido al bloque OR, por lo que supongo que separarlo sería un poco más eficiente.

Concentraría mis esfuerzos en otra parte si tienes problemas de rendimiento. Quizás perfilando cualquier aplicación que esté sirviendo. Además, si está alojado, es posible que el host simplemente tenga demasiados sitios web en el mismo servidor.

información relacionada