Il ne faut surtout pas mettre la valeur de l'ID "en dur" dans le .htaccess, on perd totalement tout le coté dynamique.
Il faut que ce soit 100% dynamique justement.
D'autres exemples de règles, de façon de faire :
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /categorie.php?cat_id=$1 [QSA,L]
L'URL sera :
-http://www.domaine.com/12-haute
et l'URL rewritée sera :
-http://www.domaine.com/categorie.php?cat_id=12
RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.html$ /categorie.php?cat1_id=$1&cat2_id=$2 [QSA,L]
L'URL sera :
-http://www.domaine.com/25-12/basket-haute.html
et l'URL rewritée sera :
-http://www.domaine.com/categorie.php?cat1_id=25&cat2_id=12
Il y a donc des REGEX qui permet de créer en quelque sorte des groupes (ou ensembles) de données qui débouchent chacune sur des variable.
Ici, c'est aussi pour démontrer qu'on peu prévoir 2 façons différentes de traiter la même chose.
- Soit on prévoit de renvoyer uniquement la sous-catégorie, qui après suppose de rechercher (requête SQL) la catégorie parente.
- Soit on prévoit de renvoyer les 2, la catégorie parente et la sous-catégorie.
On peu aussi avoir la même réflexion pour les produits.
Renseigne t-on seulement le produit, ou est il intéressant de rajouter la catégorie auquel il appartient, voir les sous-catégories aussi ?
Tout ça c'est à toi de voir.
Je peux juste dire que théoriquement, il vaut mieux éviter d'avoir à traiter trop de données car un internaute aura toujours la possibilité de modifier une URL, donc d'obtenir des infos contradictoires.
Vient après un autre aspect, les critères, c'est à dire d'obtenir des infos différentes d'une même page selon des critères différents.
Prenons cette page catégorie qui listerait des produits.
Le 1er critère qu'on a vu c'est le nom où l'ID d'une catégorie.
Mais admettons qu'on prévoit de lister des produits selon une plage de prix, de 20€ à 80€ par exemple.
Mais pourquoi pas aussi selon les marques de produits.
Voir tous : Une catégorie, une plage de prix et une marque.
Et d'autres critères encore.
Est-il envisager d'utiliser de la réécriture sur 1 critère ? sur l'ensemble des critères ?
Faut il le faire sur la même page catégorie ou sur une autre ?
Puis un tout autre domaine n'a pas été évoqué, mais il me semble que tu dois aussi avoir un espace d'admin pour gérer tout ça (un espace privé normalement).
Cet espace est il dans le même domaine que celui publique ou alors totalement à part ?
Faut il de la réécriture dans cet espace aussi ?
En somme, si c'est le cas faudra éviter qu'il y ait conflit entre les 2 espaces.
Vois tu, les cas et questions s'additionnent, et c'est rare que ça s'arrête à 1, 2, ou 3 pages, en général c'est un ensemble.
C'est pour ça que je n'ai pas de recette miracle pour te dire comment mettre en place une réécriture tellement il y a de cas et besoins différents.
Ce n'est pas pour t'effrayer cependant, mais juste pour dire qu'il faut au moins bien déterminer les pages qui réclameront de la réécriture (peut être toutes d'ailleurs), et sur quoi s'appuyer pour obtenir le résultat voulu.
Partager