Pergunta

Eu tenho essa RewriteRule que funciona muito bem: -)

RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]

A única coisa ruim sobre essa regra é que ele também corresponde diretórios físicos que eu não quero.

Como posso saber o mod_rewrite ignorar diretórios físicos e aplicar a regra acima somente quando o diretório combinado não existe?

Foi útil?

Solução

Dê uma olhada RewriteCond . Coloque o seguinte antes de sua regra para isentar a diretórios e arquivos

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

Outras dicas

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top