Eu acho que você provavelmente tem um conflito com o mod_dir (e o DiretcoryIndex
). Embora eu esteja surpreso, isso "funciona perfeitamente em .htaccess
" (a menos que você tenha algo que impeça um loop)?
Se você reescrever para o diretório nulo, ou seja. /dir/
, em seguida, mod_dir acionará uma subrequista interna para /dir/index.php
(ou qualquer que seja seu DirectoryIndex
definido) e isso provavelmente acionará um loop infinito (apesar de END
flag), pois /dir/index.php
corresponde a !^/dir/$
.
Você deve reescrever diretamente no documento de índice e isso deve resolver o problema. Por exemplo:
RewriteEngine on
RewriteRule !^/?dir/$ /dir/index.php [END]
Você não precisa da diretiva RewriteCond
que verifica em relação a REQUEST_URI
, você pode fazer a mesma verificação no padrão RewriteRule
- que é um pouco mais eficiente e economiza uma diretiva .