Adapte un mod_rewrite RewriteRule de Apache para que no actúe en directorios físicos

StackOverflow https://stackoverflow.com/questions/125850

  •  02-07-2019
  •  | 
  •  

Pregunta

Tengo esta RewriteRule que funciona muy bien :-)

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

Lo malo de esta regla es que también coincide con directorios físicos que no quiero.

¿Cómo puedo decirle a mod_rewrite ¿Ignorar los directorios físicos y aplicar la regla anterior solo cuando el directorio coincidente no existe?

¿Fue útil?

Solución

Echa un vistazo a ReescribirCond..Coloque lo siguiente antes de su regla para eximir directorios y archivos

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

Otros consejos

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top