Aller au contenu

mod rewrite + pagination


steph13

Sujets conseillés

Je vais tenté d'être le plus clair possible.

Sur mes galeries, afin de ne pas surcharger les pages en vignettes, j'ai mis la pagination en place.

Aujourd'hui, et après une discussion avec Dan, je me suis essayé à l'url rewriting.

La partie ci dessous fonctionne à merveille ! (merci Dan pour ton article sur le sujet)

Options +FollowSymlinks
RewriteEngine on
RewriteRule   ^melange-([0-9]+)-([0-9]+)\.html$   melange.php?page$1&img=$2   [L]
RewriteRule   ^photomontage-([0-9]+)-([0-9]+)\.html$   nu.php?page$1&img=$2   [L]
RewriteRule   ^photographie-([0-9]+)-([0-9]+)\.html$   photo.php?page$1&img=$2   [L]

Cependant j'ai un petit problème de navigation entre les pages.

Si je souhaite regarder toutes les images de la page 1, pas de problème.

Je souhaite ensuite aller sur la page 2, pas de problème non plus.

Je clique sur une des vignettes de la page 2, l'image s'affiche sans soucis.

Le problème, c'est qu'au lieu d'avoir les vignettes de la page deux, je me retrouve avec les vignettes de la page 1 :wacko:

J'ai donc tenté de faire un rewrite sur la pagination.

RewriteRule   ^melange-([0-9]+)-([a-z]+)\.html$   melange.php?page=$1&cat=$2   [L]

Pas de problème, quand je clique sur page2, le lien fonctione, mais mon problème persiste....

Plus qu'un discours déja long, je vous invite a vous faire une idée du problème

Cliquez ici

Au dessus des vignettes, se trouve la pagination.

Allez à la page 2

Selectionnez une image, et observez les vignettes.

Vous allez voir revenir celles de la page 1.

Je ne vois pas bien comment me tirer de cette affaire.

Merci à vous. :)

Edit:

Le code php de la pagination, ca peut, sait on jamais, vous être utile :

// nombre de lignes
$nb_results = $ret[0];

// nombre total de pages
$nb_pages = ceil($nb_results / $nb_results_p_page);
// nombre de pages avant
$avant = $courant > ($nb_avant + 1) ? $nb_avant : $courant - 1;
// nombre de pages après
$apres = $courant <= $nb_pages - $nb_apres ? $nb_apres : $nb_pages - $courant;

// première page
if($premiere && $courant - $avant > 1)
  echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '">[1]</a>  ';
 
for($i = $courant - $avant; $i <= $courant + $apres; $i++)
{
// page courante
    if($i == $courant)
       echo ' '.$i.' ';
    else
       echo '<a href="melange-'.$i.'-'.$cat.'.html"  title="Galerie des Melanges"> ' . $i . ' </a>  ';
}

Modifié par steph13
Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

Bhé si tu demandes :

http://www.melangeur-dimages.com/melange.php?page=2&img=10

Tu auras bien les vignettes de la page 2 - manquait le signe '=' dans ta requête... ;)

PS : Bonjour Klelugi ! Je manque à mes devoirs, désolé :)

Edit :

Je dois me sauver, vive le week end. N'étant pas de retour avant dimanche soir, j'ai remis le site en état de fonctionner convenablement, histoire de ne pas dérouter les visiteurs.

Je reprendrai le cours de tout cela des dimanche soir, ou plus certainement lundi matin.

Merci :)

Modifié par steph13
Lien vers le commentaire
Partager sur d’autres sites

Manifestement c'est réglé parce qu'il manquait le = dans la règle (page=$1)

J'ai bien les vignettes de la page 2 qui restent lorsue je clique sur l'une d'elles.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Bonjour le Hub,

En effet, j'vais oublié le signe'=' dans ma règle.... !

J'ai corrigé et tester cela ce matin, et Ô magie, ca marche :)

Merci à vous.

Stéphane.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...