pas de règle en URL rewriting

Nouveau WRInaute
Bonjour,

J'ai créé un site en php qui passe en paramètre d'URL des écritures de ce genre :

www.blabla.fr/index.php?m=concept&Lg=fr
www.blabla.fr/index.php?m=contact&Lg=de
...

J'aimerai changer cet URL en mettant des mots clés à la place...
Je ne comprend pas comment instaurer un système de règle étant donné que chaque page aura des mots clés différents et cela en fonction de la langue : fr-de-uk.

Alors comment faire : une règle par page?

Si quelqu'un pouvait m'éclaircir à ce sujet.
MERCI d'avance.
 
WRInaute occasionnel
tu peut utiliser les expressions regulieres pour recuperer le mot cle qui se trouvera par exemple entre 2 trucs fixe.

Par exemple : pour index.php?m=concept&Lg=fr
ca peut donner blabla.com/fr/concept.html

et pour m=contact&Lg=de
ca peut donner blabla.com/de/contact.html

Ensuite tu recupere le premier parametre qui se trouve entre le debut de l'url et le premier slash pour faire le parametre Lg et tu recupere la suite de lettre (qui va donc former ton mot cle) qui se trouve entre le / et le .html pour faire ton parametre m.

Ca ne fait qu'une seule regle.
 
Nouveau WRInaute
Merci pour ta réponse. C'est vrai que je n'y avais pas pensé.

Seulement cela ne fonctionne pas si je veux mettre un mot clé en fonction de la langue. Par exemple, avec ta solution le mot "concept" ne sera pas traduit dans les 3 langues mais seulement en 1 seule, ce qui ne me permet pas d'obtenir un référencement dans les 3 langues.

Si quelqu'un avait une solution?

MERCI
 
WRInaute accro
un :

rewrite /(.+)/(.+).html index.php?m=$2&Lg=$1 (écrit rapidement, pas forcement correct) ne fait que ré-écrire la page. à toi de programmer en php la bonne construction de l'url. qd tu crée ton lien, tu met ta variable languet et ta variable "m" comme tu veux.

le rewriting ne va pas changer toutes les url's présentes dans tes pages, il va juste ré-écrire ce que tu lui donne en url selon les régles définies dans le htaccess. avec une seule régle tu peux gérer les 3 langues
 
Nouveau WRInaute
e-kiwi a dit:
à toi de programmer en php la bonne construction de l'url. qd tu crée ton lien, tu met ta variable languet et ta variable "m" comme tu veux.

Merci pour ta réponse aussi rapide.
Mais j'avoue que j'ai pas trop saisi.
 
WRInaute accro
ta regle :
rewrite /(.+)/(.+).html index.php?m=$2&Lg=$1

redirigera aussi bien :

/fr/coucou.html vers index.php?m=contact&Lg=fr
/en/hello.html vers index.php?m=hello&Lg=En
/de/holla.html vers index.php?m=holla&Lg=de

si m est identique pour les 3 langues, c'est plus compliqué, soit en php tu fais une table de correspondance entre hello |holla | coucou, soit il faut rajouter une 3ieme variable qui fera le lien (je ne sais pas ce qu'est "contact", est-ce un module en bdd avec un id ?
 
Nouveau WRInaute
e-kiwi a dit:
si m est identique pour les 3 langues, c'est plus compliqué, soit en php tu fais une table de correspondance entre hello |holla | coucou, soit il faut rajouter une 3ieme variable qui fera le lien (je ne sais pas ce qu'est "contact", est-ce un module en bdd avec un id ?

Merci je commence à comprendre...

contact ou concept sont des pages en php, mais je ne fais pas de module en ID depuis une bbd.
m est identique dans les 3 langues, le contenu se change par des variables en fonction de Lg.

ce que j'aurai voulu c'est mettre un mot clé en URL en fonction de la langue choisie genre fr/concept.html
de/konzept.html
en/concept.html
 
WRInaute occasionnel
Pour moi si "index.php?m=contact&Lg=fr" fonctionne la règle de e-kiwi devrais fonctionner avec "/fr/coucou.html" idem pour le reste.

Maintenant il faut modifier (à la main si tu n'as pas de fonction qui te génère tes lien) toutes tes balises <a href="index.php?m=contact&Lg=fr">Lien contact<a> en <a href="/fr/coucou.html">Lien contact<a>
 
Discussions similaires
Haut