Un petit probleme d'URL rewriting please help

WRInaute discret
Code:
RewriteRule ^categorie-video-(.*)-([0-9]+)\.html$ video.php?cat_movie=$2 [L]
RewriteRule ^categorie-video-(.*)-([0-9]+)-([0-9]+)\.html$ video.php?cat_movie=$2&page=$3 [L]

le source :

Code:
<?
  for ($i=1;$i<$nb_pages;$i++)
  {
  	if ($i != $page)
    echo "<a href=\"categorie-video-$name_cat-$c-$i.html\"><font size=1 face=tahoma>PAGE $i</font></a>";
  	else
    echo "<font size=1 face=tahoma>PAGE $i</font>";
  	echo " - ";
  }
  
  if ($i == $page)
  	echo $i;
  else
  	echo "<a href=\"categorie-video-$name_cat-$c-$i.html\"><font size=1 face=tahoma>PAGE $i</font></a>";
?>

Quand je clic sur la page 2, il prend en compte le 2 comme étant la catégorie et donc je me retrouve sur une autre catégorie.

Par contre si jy vais direct avec l'url en php : video.php?cat_movie=31&page=2

ca marche nikel :(

Une idée ?
Merci d'avance
 
WRInaute discret
Bonjour,

Il faut chercher à minimiser ton expression correspondant à $1.
Là, vu que les regexp cherchent à s'étendre le plus possible, seule ta règle 1 sera appliquée, jamais la 2.

Donc au choix tu mets :

Code:
RewriteRule ^categorie-video-(.*?)-([0-9]+)\.html$ video.php?cat_movie=$2 [L]
RewriteRule ^categorie-video-(.*?)-([0-9]+)-([0-9]+)\.html$ video.php?cat_movie=$2&page=$3 [L]

Ou bien :

Code:
RewriteRule ^categorie-video-([^\-]*)-([0-9]+)\.html$ video.php?cat_movie=$2 [L]
RewriteRule ^categorie-video-([^\-]*)-([0-9]+)-([0-9]+)\.html$ video.php?cat_movie=$2&page=$3 [L]

Je n'ai pas testé, mais je pense que ton problème vient de là.
 
WRInaute discret
Code:
RewriteRule ^categorie-video-(.*?)-([0-9]+)-([0-9]+)\.html$ video.php?cat_movie=$2&page=$3 [L]
RewriteRule ^categorie-video-(.*?)-([0-9]+)\.html$ video.php?cat_movie=$2 [L]

Merci j'ai utilisé (.*?)
Et j'ai inversé les deux regles, et cela fonctionne parfaitement !
 
Discussions similaires
Haut