Existe um limite para o .htaccess?

6

Olá a todos. Eu estava apenas imaginando se há um limite para o arquivo .htaccess para o Apache 2. Estou trabalhando em um plug-in de armazenamento em cache e concluo que pode ser uma boa idéia usar o arquivo .htaccess para apontar para arquivos html estáticos gerados.

Então, alguém já tentou alcançar o limite? O .htaccess funcionará bem com 5.000 regras do mod_rewrite? E quanto a 10.000? 20.000? Um amigo meu disse que trabalhou em um blog que tinha 400k + posts. Isso vai funcionar?

Obrigado,

~ @kovshenin

    
por kovshenin 17.02.2010 / 19:00

2 respostas

9

Tenho certeza que não há limite para quantas regras do mod_rewrite você pode usar; O apache basicamente verá o arquivo .htaccess e executará as regras do mod_rewrite na ordem

No entanto, existem alguns limites que você pode encontrar:

  1. Tamanho do arquivo. Pode haver um limite de 2 GB ou 4 GB no tamanho do arquivo .htaccess. Pode haver um limite efetivo menor com base na memória (o arquivo .htaccess pode ser lido na memória)
  2. Tempo. Cada mod_rewrite leva algum tempo para processar (mesmo que não combine), eventualmente você terá o suficiente para medir o tempo em segundos, o que seria muito ruim.

Você pode querer explorar a diretiva RewriteMap e configurar um arquivo de hash e reduzir suas 20.000 regras de mod_rewrite para uma única regra que procura uma entrada em um banco de dados de hash de 20.000 itens.

    
por 17.02.2010 / 19:48
4

Se você é o administrador do servidor, você não deve usar o .htaccess como recomendado pelo Apache. Tudo em um arquivo .htaccess pode e deve estar em um bloco <Directory> na configuração. Razão de ser, o Apache vai bater o disco rígido em cada pedido para ler e analisar esse arquivo antes de servir o conteúdo. É um sucesso extraordinário de desempenho.

Então, você colocaria 20.000 linhas na sua configuração para serem carregadas pela memória? É melhor guardar as regras em um banco de dados.

Leitura recomendada: link

    
por 17.02.2010 / 20:05