2008-09-24 13 views
1

J'ai ce RewriteRule qui fonctionne trop bien :-)Adapter un RewriteRule mod_rewrite Apache de ne pas agir sur les répertoires physiques

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

La mauvaise chose au sujet de cette règle est qu'il correspond également à des répertoires physiques que je ne vouloir.

Comment puis-je dire au 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?

+0

Merci à tous pour toutes vos réponses rapides et précises! –

Répondre

3

Jetez un oeil à RewriteCond. Mettez les points suivants avant votre règle pour exclure des répertoires et fichiers

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

Merci beaucoup, ça marche super !!! Merci pour toutes les réponses, et merci Joel pour créer ce site génial :) –

+0

Jeff Atwood et al. a fait le site. Joel est seulement son acolyte ;-) –

0
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]