Adapter un Apache mod_rewrite RewriteRule pour ne pas agir sur des répertoires physiques

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

  •  02-07-2019
  •  | 
  •  

Question

J'ai cette RewriteRule qui fonctionne trop bien: -)

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

Le problème avec cette règle est qu’elle correspond également à des répertoires physiques que je ne souhaite pas.

Comment puis-je demander à mod_rewrite d'ignorer les répertoires physiques et d'appliquer la règle ci-dessus uniquement lorsque le répertoire correspondant n'existe pas?

Était-ce utile?

La solution

Jetez un coup d’œil à RewriteCond . Placez les éléments suivants avant votre règle pour exempter les répertoires et les fichiers

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

Autres conseils

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top