8711 sujets

Développement web côté serveur, CMS

Bonsoir à tous.
Je fais appel à votre aide car je suis en train de me tirer les cheveux sur une ligne d'url rewriting qui ne veut pas passer sans que je comprenne pourquoi.

Voilà dans une section que j'appelle "videos", j'ai conçu une page qu'on va appeler videos.php.
Sur cette page j'ai deux critères de recherche : la catégorie vidéo et l'affichage par page.

En brut cela donne ceci
1. Affichage par catégorie :
ndd/videos/videos.php?categorie_video=categorie-verte

2. Puis par page dans la catégorie active :
ndd/videos/videos.php?categorie_video=categorie-verte&page=1

Pour le point n°1 aucun souci, ça marche en faisant ceci :
RewriteRule ^videos/([a-zA-Z0-9\-]+)\.html$   /videos/videos.php?categorie_video=$1 [L]

L'url nouvelle fonctionne sous :
ndd/videos/categorie-verte.html

Pour le point n°2 ça pose problème, j'ai rentré cette ligne :
RewriteRule ^videos/([a-zA-Z0-9\-]+)-([0-9]+)\.html$   /videos/videos.php?categorie_video=$1&page=$2 [L]


Lorsque je rentre l'url : ndd/videos/categorie-verte-1.html
J'ai bien la page qui s'affiche mais sans aucun résultat alors qu'en rentrant la page
ndd/videos/videos.php?categorie_video=categorie-verte&page=1
j'ai bien ma catégorie affichée avec les vidéos correspondantes dans la page 1, si je mets 2 j'ai la page 2...

Si quelqu'un voit le problème, ça m'arrangerait. Je suis sur la finalisation de mon projet et je bloque là dessus depuis 2h... C'est comme si je perds ma variable catégorie dans l'url rewriting.
Merci d'avance.
Modifié par PhilouMinety (11 Nov 2013 - 00:03)
J'ai enlevé la première ligne du htaccess
RewriteRule ^videos/([a-zA-Z0-9\-]+)\.html$   /videos/videos.php?categorie_video=$1 [L]

et la page n°2 fonctionne maitenant mais du coup la n°1 ne marche plus.
J'ai donc un conflit entre mes deux lignes... mais où ?
Salut,

Réponse compliquée :
Tes deux règles ne sont pas exclusives l'une de l'autre.
Dans ce cas, il faut mettre la plus spécifique en premier et la plus générique en second.

Réponse simple :
Inverse l'ordre de tes deux lignes.
Salut Fly06
Merci pour ton explication et la rapidité de la réponse, c'est effectivement la bonne solution. J'avais tout testé sauf ça mais bon je savais pas trop pourquoi ça plantait, mais c'est logique oui.