Stoper une regle rewriting

WRInaute discret
J'ai plusieurs regles a savoir :

RewriteCond %{REQUEST_URI} !^/pages.*
RewriteRule ^(.*).html$ /pages/$1.html

Qui renome mes urls du repertoire "/pages"

et pour mes categories:

RewriteRule ^(.*)-([1-9][0-9]*).html$ /index.php?cat_id=$2[L]
RewriteRule ^([0-9]+)-([0-9]+).html$ /index.php?cat_id=$1&page=$2[L]


Je voudrais que quand la premiere condition est remplis c'est a dire qu'elle ne renvoie pas de 404 (page contenue dans le repertoire "pages") alors il n'aille pas chercher les autres regles.

Au contraire si la premiere n'est pas verifié (404) alors il continue pour chercher la categorie.
 
WRInaute passionné
Si apache renomme ta page à la première ligne, elle change de nom et n'est donc plus concernée par la suite. A toi de veiller néanmoins à mettre les règles dans le bon ordre.
 
WRInaute discret
Donc impossible de l'arreter si la premier regle est ok ?

car si je mets :
RewriteCond %{REQUEST_URI} !^/pages.*
RewriteRule ^(.*).html$ /pages/$1.html [L]


RewriteRule ^(.*)-([1-9][0-9]*).html$ /index.php?cat_id=$2[L]
RewriteRule ^([0-9]+)-([0-9]+).html$ /index.php?cat_id=$1&page=$2[L]


Il s'arrete sur la premiere mais qd il y a 404 il ne va pas plus loin :(
 
WRInaute occasionnel
Quelque chose comme ca
Code:
RewriteCond %{REQUEST_URI} !^/pages.*
RewriteCond %{DOCUMENT_ROOT}/pages/$1.html	-f
RewriteRule ^(.*).html$ /pages/$1.html [L]

RewriteRule ^(.*)-([1-9][0-9]*).html$ /index.php?cat_id=$2[L]
RewriteRule ^([0-9]+)-([0-9]+).html$ /index.php?cat_id=$1&page=$2[L]
 
Discussions similaires
Haut