Bonjour,

Je rencontre un problème avec les pages contenant des paramètres ajoutés à l’url. Voici ce que je voudrai arriver à faire :

Transformer les URL contenant un paramètre comme ce modèle :
pret-d-aide-et-a-la-creation-d-entreprise ?projet=5
en URL comme comme ce modèle :
creer-mon-entreprise/pret-d-aide-et-a-la-creation-d-entreprise
ou comme celui-ci si le "/" pose problème :
creer-mon-entreprise-pret-d-aide-et-a-la-creation-d-entreprise

Il faudrai remplacer le parametre "projet=5" par "creer-mon-entreprise-" et le placer au début de l’URL.

J’ai essayé de manipuler le fichier htaccess pendant 3 heures, mais sans succès.

Merci pour votre aide.

6 réponses


Pourquoi ne pas passer un slug à la place ?

oui je veux bien pourquoi pas mais je ne connais pas trop le principe.
Le site est fait à partir de SPIP, j'ai utilisé la fonctionalité URL Propres, ce qui m'a permis de transfomer mes URL avec variables en URL lisibles mais ce sont des variables de Spip, j'aimerai le faire avec mes propres variables.

Si tu ne sais pas ce qu'est un slug, c'est ( pour faire simple) un id alphanumerique.
Par exemple ici ( lien pris au pif ) https://www.grafikart.fr/blog/mon-environnement
Il y a "mon-environement" d'afficher dans l'url. C'est le slug.
Généralement le slug contient le titre de l'article par exemple. Et à partir de ce slug qui généralement est unique, on récupère l'id en fonction de ce slug. Et si il n'est pas unique tu peux toujours faire : https://www.grafikart.fr/blog/mon-environnement/2 ( par exemple )

Et en plus d'être lisible plus facilement par ton client, le slug permet aussi un meilleur référencement auprès de notre ami google. :)

Donc dans ta bdd tu rajoute un champ "slug" et au moment de save un article par exemple, tu enregistre le titre aussi dans le champ slug mais en remplacant les espaces, les points, les slash etc par des "-" ou des "_" .

Edit : J'avais pas vu que tu passais pas un CMS ... mais l'idée reste la même.

ok compris, merci pour l'explication. comme je disai plus haut j'ai activé la possibilité d'avoir des.URL propres pour chaque article. Là où je coince c'est que je voudrai une url differente sur le meme.article.en fonction du paramètre projet, l'url propre est bien affichée mais avec le parametre ?projet=5 à la fin, que je voudrai remplacer par le 'slug', J'ai pu le faire sur une page unique dans htaccess pour masquer mes paramètres et reecrire une belle url, puis j'ai tenté en vain pour ce nouveau cas. Aurais-tu un exemple de code ?

Euh ... je sais pas trop coté "vue" je verrais un truc du genre :

<?php 
$bdd = // tout le bazard de connexion;
$resultat = $bdd->query('SELECT * FROM ma_table'); 
while($data == $resultat->fetch()){
    echo '<a href="le_lien'.$data['slug'].'">$data['titre']</a>';
}   
?>

Un truc comme ca quoi x)
Après il faudrait que je sache à quoi ressemble l'api de ton cms pour comprendre comment fonctionne les URL. Chaque API à son rooting.

ok merci Jinou je vais tenter cette