Não, ele irá analisar cada uma das suas regras de reescrita, de cada tipo, por sua vez. O regex pode causar curto-circuito ou não dependendo da libpcre, mas cada saída de RewriteRule
é alimentada na próxima regra da lista. Dos documentos:
Rewrite rules are applied to the results of previous rewrite rules, in the order in which they are defined in the config file.
No entanto, uma ou mais regras RewriteCond
podem existir antes de um RewriteRule
, e elas realmente causarão um curto-circuito. Então, se as instruções aparecem no arquivo na ordem que você as tem:
RewriteCond %{REQUEST_FILENAME} \.(php|gif|jpg|png|ico|swf|flv|avi|mpg|jpeg|gz|ram)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ my_index.php?q=$1 [L,QSA]
- A extensão será verificada; se não estiver nessa lista, o próximo
RewriteRule
não será executado e todos osRewriteCond
s antes dele (o caro em particular) não serão verificados. - Caso contrário, o caro sistema de arquivos
RewriteCond
será evocado; se for falso, a mesma coisa acontece como acima. - Se verdadeiro, o URL será reescrito.