Adaptar um mod_rewrite RewriteRule Apache não agir em diretórios físicos
-
02-07-2019 - |
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?
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