probleme url rewritting

WRInaute occasionnel
Bonjour,

quand je fais RewriteRule ^(.*)-([0-9]+)\.php$ article.php?categorie=$1&page=$2 [L] le lien marche

mais quand je faire RewriteRule ^article/(.*)-([0-9]+)\.php$ article.php?categorie=$1&page=$2 [L] ca ne marche plus la 2eme variable est attaché a la premiere .

exp : article/actualite-1.php j'ai pour $categorie actualite-1

Merci
 
WRInaute accro
Bonjour hm190000

Et comme ça ça ne fonctionne pas ?

Code:
RewriteRule ^article/(.*)-([0-9]+)\.php$ /article.php?categorie=$1&page=$2 [QSA,L]

J'utilise un code quasi similaire qui fonctionne nikel sauf que j'ai \.html$ au lieu de \.php$ !
 
WRInaute passionné
J'ai fait un test et ca marche :
Code:
RewriteRule ^article/(.*)-([0-9]+)\.php$ /article.php?categorie=$1&page=$2 [L]

tu n'as pas une autre règle avant qui match?
 
WRInaute occasionnel
webmasterlamogere a dit:
J'ai fait un test et ca marche :
Code:
RewriteRule ^article/(.*)-([0-9]+)\.php$ /article.php?categorie=$1&page=$2 [L]

tu n'as pas une autre règle avant qui match?

en faite oui, j'ai d'autre regle avant , si je met RewriteRule ^article/(.*)-([0-9]+)\.php$ /article.php?categorie=$1&page=$2 [L] seul ca marche mais avec les autre ca ne marche pas

voidi mon .htacces

Code:
Options +FollowSymlinks


RewriteEngine On
RewriteRule ^recette/(.*)/(.*)\.php$  recette.php?id=$1&nom=$2 [L]

RewriteRule ^categorie/(.*)\.php$  categorie.php?categorie=$1 [L]
RewriteRule ^pays/(.*)\.php$  pays.php?pays=$1 [L]
RewriteRule ^article/(.*)\.php$  article.php?categorie=$1 [L]

RewriteRule ^(.*),([0-9]+)\.php$  pays.php?pays=$1&page=$2  [L]
RewriteRule ^(.*)-([0-9]+)\.php$  categorie.php?categorie=$1&page=$2  [L]
RewriteRule ^article-(.*)-([0-9]+)\.php$  article.php?categorie=$1&page=$2  [L]

Options -Indexes
 
WRInaute passionné
il faut mettre les règles dans l'ordre : de la plus précise à la plus générale :
Code:
Options +FollowSymlinks


RewriteEngine On
RewriteRule ^recette/(.*)/(.*)\.php$  recette.php?id=$1&nom=$2 [L]

RewriteRule ^categorie/(.*)\.php$  categorie.php?categorie=$1 [L]
RewriteRule ^pays/(.*)\.php$  pays.php?pays=$1 [L]
RewriteRule ^article-(.*)-([0-9]+)\.php$  article.php?categorie=$1&page=$2  [L]
RewriteRule ^article/(.*)\.php$  article.php?categorie=$1 [L]

RewriteRule ^(.*),([0-9]+)\.php$  pays.php?pays=$1&page=$2  [L]
RewriteRule ^(.*)-([0-9]+)\.php$  categorie.php?categorie=$1&page=$2  [L]

Options -Indexes
 
WRInaute occasionnel
oui ca marche maintenant, c'est la premiere fois je lire qu'il faut les mettre de la plus précise à la plus générale

Merci
 
WRInaute passionné
pour ton information, le serveur prend la première règle qui correspond et s'arrète si il y a l'option [L] pour Last. Si il n'y a pas l'option L, il prend le résultat et cherche une autre règle qui correspond pour trouver une autre réécriture.
 
Discussions similaires
Haut