8797 sujets

Développement web côté serveur, CMS

Bonjour,

Je travaille avec php mysql.
A l'aide d'une fonction récursive sur une table j'obtiens des url hierarchiques.

Ex :
http://www.monsite.com/categorie1/souscategorie11/mapage/ (affiche article)
http://www.monsite.com/categorie1/souscategorie11/ (affiche une liste d'articles)

Ensuite pour connaitre la page à afficher je sélectionne le dernier "élément" de l'url (ici il s'agit de "mapage") et j'obtiens les infos correspondant a cette page:

ex: SELECT * FROM pages WHERE pageurl = 'mapage'

Avec cette méthode très simple je rencontre 2 problèmes :
- 1) comment ajouter un numéro de page complémentaire en gardant ce même principe hiérarchique (comme pour les commentaires d'un article) :
ex :
http://www.monsite.com/categorie/souscategorie/mapage/
http://www.monsite.com/categorie/souscategorie/mapage/2/
http://www.monsite.com/categorie/souscategorie/mapage/3/

Comment savoir ce qui correspond à l'identifiant ("mapage") et ce qui correspond au numéro de page (2,3,4,...) ?

- 2) le second problème est qu'avec cette méthode il devient possible de créer une infinité d'url pointant vers une même page :
http://www.monsite.com/xxxx/xxx/......./xxxx/mapage/

En contrepartie cette méthode permet suivant ces besoins d'utiliser des url hiérarchiques ou non. Il n'est pas ici nécessaire de mettre à jour tous les champs 'pageurl' de la table pour obtenir les 2 types d'url.



je répété la question cité plus haut:
Comment savoir ce qui correspond à l'identifiant ("mapage") et ce qui correspond au numéro de page (2,3,4,...) tout en gardant ce principe ?

Merci par avance pour vos suggestions.
Hello sevy et bienvenue sur le forum, Smiley smile

je ne suis pas sûr d'avoir bien compris ta question... est-ce que tu veux parler d'urlrewriting ? De la façon de gérer tes tables ? D'autre chose ?
En tout cas pour la question 2), on ne veut jamais avoir un infinité d'url pointant vers une même page pour éviter d'avoir des contenus dupliqués.

D'autre part tu as actuellement une infinité d'url, même si normalement elle ne devraient pas être trouvées, car :
http://www.monsite.com/categorie1/souscategorie11/mapage/
et http://www.monsite.com/autrechose/mapage/
renverront vers la même page.

La question 1) est très vaste et difficile à répondre sans connaître l'application. Je ne peux que t'inciter à t'inspirer du fonctionnement des cms et des framework sur ce point.
Heyoan,
Il s'agit bien d'url rewriting.

bzh,
1) c'est bien pour éviter de passer de nombreuse heures à comparer des CMS que je pose la question.
2) je crois que c'était déjà le problème que j'avais posé.
Merci quand même d'avoir pris le temps de répondre.

Si quelqu'un connait donc le principe de fonctionnement d'un CMS faisant de l'Url rewriting hiérarchique je suis preneur.

Merci
Quelque chose comme ça ?
RewriteRule ^([^\/]*)/([^\/]*)/([^\/]*)/([^\/]*)/$  index.php?categorie=$1&souscategorie=$2&article=$3&page=$4  [L]
RewriteRule ^([^\/]*)/([^\/]*)/([^\/]*)/$  index.php?categorie=$1&souscategorie=$2&article=$3&page=1  [L]