Estou customizando a configuração do Apache httpd (2.4.59). Aqui está um quebra-cabeça:
Esta regra reescreve os URIs correspondentes se for incondicional:
RewriteRule ^/abc/.* /myscript.php [L]
Mas se for codificada desta forma, a regra não será reescrita e não terá efeito nos mesmos URIs:
<If true>
Header always set Test "executed"
RewriteRule ^/abc/.* /myscript.php [L]
</If>
O cabeçalho de teste é enviado, mas para URIs correspondentes a ^/abc/.*, myscript.php nunca é executado.
O que está acontecendo?
Para sua informação, estou trabalhando <If>
com uma condição real, não <If true>
. Mas quando testei <If true>
, percebi que o RewriteRule nunca seria executado de qualquer maneira.