url rewriting avec parametres dans une base, help

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


Marie-Aude
WRInaute accro
WRInaute accro
 
Messages: 4974
Inscription: Lun Juin 05, 2006 14:15

url rewriting avec parametres dans une base, help

Message le Mar Juin 03, 2008 18:01

Bonsoir,

il y a un truc que je ne comprends, ça doit être évident, mais ça fait trois jours que je tourne en rond, alors si quelqu'un voulait bien avoir la gentillesse de m'expliquer simplement, de façon claire et détaillée pour une analphabete du rewriting.

J'ai compris comment on transforme une url du type
-www.exemple.com/page.php?var1=toto&var2=zebulon en www.exemple.com/toto/zebulon

Maintenant, moi ce que j'ai, c'est www.exemple.com/page.php?var1=1&var2=2

et une base de données qui me donne une equivalence 1 = toto et 2 = zebulon

Et c'est là où je coince... comment je passe directement de
-www.exemple.com/page.php?var1=1&var2=2 à www.exemple.com/toto/zebulon ?

j'imagine qu'il faut un script quelque part, mais où ? Et comment on l'appelle ? Et comment on indique les valeurs que le script est allé cherché dans la base au rewriting ?

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Mar Juin 03, 2008 19:26

SI tu veux le faire par réécriture, il faut utiliser RewriteMap :
http://httpd.apache.org/docs/2.0/mod/mo ... rewritemap

Mais ca n'est pas utilisable dans un .htaccess, il faut que tu aie la main sur la config du serveur apache (hébergement dédié donc).

Sinon, il faut le faire par PHP, mais je laisserait un autre que moi te l'expliquer, car jusque là je suis toujours passé par mod_rewrite.


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3062
Inscription: Jeu Sep 14, 2006 4:53

Message le Mar Juin 03, 2008 19:30

Pour construire ton url et l'afficher quelque part, tu fais une requête à partir des id pour trouver les noms.

Quand tu executes l'url, tu fais une requêtes à partir des noms pour retrouver les ids ?

C'est ça ta question ou je l'ai pas compris ?


Marie-Aude
WRInaute accro
WRInaute accro
 
Messages: 4974
Inscription: Lun Juin 05, 2006 14:15

Message le Mar Juin 03, 2008 19:40

YoyoS oui c'est ça ma question.

Je suis sur un mutualisé, donc rewritemap pas possible.

Il resterait à le faire en php, mais comment ? Je ne vois pas la logique qui permet de le faire ?

En même temps je suis sure que c'est faisable puisque c'est le principe de réécriture des urls de mon blog.
Je n'arrive simplement pas à décortiquer son code.


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3062
Inscription: Jeu Sep 14, 2006 4:53

Message le Mar Juin 03, 2008 19:45

En gros, la page ou tu listes des liens se forme de cette façon:

- Tu fais une requete select * from table where id = idnom
- Tu affiches et tu construis tes url
- Ce qui donne une liste de liens de type -www.example.com/zebulon/

Sur la page dont l'url est rewritée:

- Tu lances dans ton navigateur l'url -www.example.com/zebulon/ en paramètre tu as donc var = zebulon.
- En haut de page, avant tout affichage, tu récupères le nom de ton url.
- Tu fais une requête de type select * from table where nom = nomprovenantdelurl;
- Tu obtiens tout ce dont tu as besoin pour travailler, dont l'id.


C'est pour cela que je préfère travailler avec les ids dans les url, tu peux avoir des pages comportant le meme nom, ca ne plantera pas, et une seule requête à faire.


Marie-Aude
WRInaute accro
WRInaute accro
 
Messages: 4974
Inscription: Lun Juin 05, 2006 14:15

Message le Mar Juin 03, 2008 19:56

YoyoS a écrit:En gros, la page ou tu listes des liens se forme de cette façon:

- Tu fais une requete select * from table where id = idnom
- Tu affiches et tu construis tes url
- Ce qui donne une liste de liens de type -www.example.com/zebulon/

Sur la page dont l'url est rewritée:

- Tu lances dans ton navigateur l'url -www.example.com/zebulon/ en paramètre tu as donc var = zebulon.
- En haut de page, avant tout affichage, tu récupères le nom de ton url.
- Tu fais une requête de type select * from table where nom = nomprovenantdelurl;
- Tu obtiens tout ce dont tu as besoin pour travailler, dont l'id.


C'est pour cela que je préfère travailler avec les ids dans les url, tu peux avoir des pages comportant le meme nom, ca ne plantera pas, et une seule requête à faire.


Tout ça j'ai compris.
Mais je ne veux pas avoir var = zebulon en parametre, je veux avoir var = 01, et c'est var = 01 qui me permet de déterminer zebulon.

Par exemple, dans Wordpress, le parametre est l'id du post, mais tu peux faire des urls avec le titre du post.


Edit : je suis complètement idiote, je viens de comprendre, effectivement j'avais la solution sous les yeux.
Merci :)

En fait je mets zebulon dans l'url, et c'est dans le header de la page que je vais rechercher la varleur de la variable ! Résolu...

(Bon si personne ne me comprends, c'est pas grave, moi oui :) )


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3062
Inscription: Jeu Sep 14, 2006 4:53

Message le Mar Juin 03, 2008 20:04

Oui mais ce que tu comprends pas, c'est que tu dois obligatoirement te baser sur quelque chose présent dans l'url que tu vas ensuite récupérer en php.

Si tu as une url du type : www.exemple.com/zebulon/ , je vois pas dutout comment récupérer var = 1 instantanément comme ça grâce à l'url alors que dans ce cas var = zebulon ^^, ou alors manuellement avec une correspondance dans un tableau, masi c'est assez sauvage si tu en as beaucoup :D

Si tu changes ta méthode et que tu fais www.exemple.com/1/zebulon/ , la oui, tu peux avoir var = 1 et même un autre var2 = zebulon :mrgreen:

Ca dépend si tu veux faire une règle générique ou bien les faire toutes à la main !


druart
WRInaute accro
WRInaute accro
 
Messages: 1705
Inscription: Dim Avr 30, 2006 8:08

Message le Mar Juin 03, 2008 20:50

Marie-Aude a écrit:
Edit : je suis complètement idiote ....


non ! et loin de là


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5337
Inscription: Lun Juin 13, 2005 14:13

Message le Mer Juin 04, 2008 9:22

Toute information passée dans la partie réécrite de la règle doit se trouver dans l'URL de base. Après, tu n'es pas forcée d'exploiter ou de récupérer la valeur "zébulon".


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Base, Google Alerts

  • Suggestions Google Suggest
    Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités