Eu tenho o Apache 2.4 e estou usando arquivos DBM RewriteMap.
ou seja:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteMap examplemap "dbm:/etc/httpd/conf/rewrite.dbm"
RewriteCond ${examplemap:$1} !=""
RewriteRule ^(.*) /${examplemap:$1} [R=301,L]
</IfModule>
<VirtualHost *:80>
DocumentRoot /var/www/sites/me
Options +FollowSymLinks +Indexes
RewriteEngine On
RewriteOptions Inherit
RewriteMap redirects "dbm:/etc/httpd/conf/redirects.dbm"
RewriteCond ${redirects:$1} !=""
RewriteRule ^(/.*) /${redirects:$1} [R=301,L]
</VirtualHost>
Eu preciso ser capaz de provar que o segundo arquivo dbm (redirects.dbm) não está sendo carregado na memória quando uma solicitação é feita e a condição é encontrada no primeiro arquivo dbm (rewrite.dbm)
Para meu conhecimento sobre as várias leituras que fiz, ambos os arquivos foram carregados na memória. IS isso correto?
A razão para isto é que o rewrite.dbm conterá apenas 300 reescritas, mas irá mudar frequentemente (diariamente). O redirecions..dbm nunca será alterado depois de carregado e conterá cerca de 30.000 redirecionamentos.
O cliente quer ter certeza de que os arquivos do segundo DBM não serão carregados na memória e / ou retardarão o tempo de solicitação se o primeiro arquivo dbm for o necessário.
Acho que o fluxo seria mais ou menos assim:
IF / abc está em rewrite.dbm end e mostra a página
IF / abc não está em rewrite.dbm search redirects.dbm
IF / abc não está em nenhum lance 404
Espero que o que eu esteja perguntando seja claro.
Tags mod-rewrite apache-2.4 centos