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.
 
H
Haq
Guest
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]
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut