Page 1 sur 2
url rewritting
Posté : 02 mars 2020, 14:50
par bernard25
Bonjour à Tous,
dirmodif=22 22 est l'id
Actuellement j'ai une adresse comme ceci : monsite.fr/actualites/index.php?dirmodif=22 et j'aimerai avoir comme nouvelle url :
monsite.fr/actualites/actualités
j'ai essayé ceci :
Code : Tout sélectionner
RewriteRule actualites/([a-zA-Z0-9\-]+)-(['actualités]+) actualites/index.php?id=$1&dirmodif=$2
Je n'ai aucun changement lorsque je vais sur cette page
Merci d'avance
Re: url rewritting
Posté : 02 mars 2020, 15:06
par or 1
quelle est l'url de la page testée ?
(['actualités]+) ne va pas capturer un id, donc si dirmodif doit être un entier, cela ne fonctionnera pas.
Re: url rewritting
Posté : 02 mars 2020, 15:16
par bernard25
Merci Or1,
Effectivement
J'ai essayé ceci :
Code : Tout sélectionner
RewriteRule actualites/([a-zA-Z0-9\-]+)-([0-9]+) actualites/index.php?id=$1&dirmodif=$2
J'avoue que je tatone sans visibilité mon url actuelle (local) :
http://association/actualites/index.php?dirmodif=22
Re: url rewritting
Posté : 02 mars 2020, 15:40
par or 1
actualites/index.php?dirmodif=22
ne respecte pas
actualites/([a-zA-Z0-9\-]+)-([0-9]+)
donc normal qu'il ne se passe rien. après, comme c'est la vraie url qui est testée, ce n'est pas utile qu'il se passe quelque chose.
Re: url rewritting
Posté : 02 mars 2020, 15:49
par bernard25
Re: url rewritting
Posté : 03 mars 2020, 12:06
par Saian
Bonjour Bernard, en fait l'adresse ne va pas changer toute seule. C'est à toi de mettre l'url
http://association/actualites/actualité sur le href du lien.
La réécriture d'URL va permettre au serveur de savoir que quand tu demandes
http://association/actualites/actualité il doit en fait ouvrir
http://association/actualites/index.php?dirmodif=22
Re: url rewritting
Posté : 03 mars 2020, 12:44
par bernard25
Bonjour Saian,
Merci pour ta réponse claire,
http://association/actualites/index.php?dirmodif=22 vient d'un href
Voici le code qui est appelé
Code : Tout sélectionner
<a href="index.php?dirmodif='.$ligne['id'].'" title="Menu" ><span class="texteactualitesgras">'.$menu.'<br/></a>
J'ai essayé plusieurs RewriteRule dans mon fichier .htaccess mais je n'y arrive pas
Merci
Re: url rewritting
Posté : 03 mars 2020, 12:57
par Saian
Je rajouterais et de bien écrire la règle pour que ça fonctionne.
<a href="actualité" title="Menu" ><span class="texteactualitesgras">'.$menu.'<br/></a>
En cliquant le lien, tu auras une 404 jusqu'à ce que la règle soit bien écrite et là, tu auras la bonne page.
Re: url rewritting
Posté : 03 mars 2020, 14:56
par bernard25
Merci Saian pour ta réponse,
En fait sur ma page à gauche j'ai un menu vertical qui m'affiche mes actualités et en cliquant sur un item du menu (Titre Actualité), l'enregistrement s'affiche sur la partie droite de ma page l'item récupère le numéro de l'id de manière à récupérer cet enregistrement.
Si je mets : a href="actualité"... je ne pourrai pas afficher mes autres enregistrements
Htaccess:
RewriteRule actualites/([a-zA-Z0-9\-]+)-([0-9]+) actualites/index.php?id=$1&dirmodif=$2
Mais j'ai toujours en visuel :
http://association/actualites/index.php?dirmodif=22
Merci encore
Re: url rewritting
Posté : 03 mars 2020, 16:55
par Saian
J'ai l'impression que tu n'arrives toujours pas à comprendre. Le lien ne va pas se modifier tout seul, c'est à toi de le changer dans le html.
// dans le htaccess
RewriteRule le-lien.html actualites/index.php?dirmodif=22
// dans le html
<a href="le-lien.html">le lien</a>
Quand tu vas cliquer le-lien.html dans la barre d'adresse tu auras bien le-lien.html mais le serveur appellera actualites/index.php?dirmodif=22.
Re: url rewritting
Posté : 03 mars 2020, 17:20
par bernard25
Merci Saian,
Effectivement si je mets ton code, le lien affiche index.php et non index.php/?.....
Ton code fonctionne car RewriteRule actualites actualites/index.php?dirmodif=22 pointe vers l'enregistrement 22 mais cet id change (du 1 à xxxx) ici c'est l'enregistrement 22 mais il pourrait suivant le href être 21 ou 2541
Merci pour ton dérangement
Re: url rewritting
Posté : 03 mars 2020, 17:24
par Saian
A toi d'adapter la règle en fonction de ce que tu veux faire et rien ne t'empêche d'avoir plusieurs règles.
Avec une règle une chouille dynamique :
// dans le htaccess
RewriteRule le-lien-(\d+).html actualites/index.php?dirmodif=$1
// dans le html
<a href="le-lien-21.html">le lien 21</a><!-- appelle actualites/index.php?dirmodif=21 -->
<a href="le-lien-22.html">le lien 22</a><!-- appelle actualites/index.php?dirmodif=22 -->
Re: url rewritting
Posté : 03 mars 2020, 17:37
par bernard25
Saian,
Merci beaucoup pour ta patience,
J'ai essayé ton code :
Code : Tout sélectionner
RewriteRule le-lien-(\d+).html informations/index.php?dirmodif=$1
et naturellement le href modifié, et j'ai une erreur
Not Found
Encore merci,
Bonne soirée
Re: url rewritting
Posté : 03 mars 2020, 17:38
par Saian
Tu as un dossier informations avec un fichier index.php dedans ?
Une rewrite rule c'est :
RewriteRule adresse_souhaitée adresse_réelle
Il faut utiliser l'adresse souhaitée sur tes liens et il faut bien entendu que l'adresse réelle existe.
Re: url rewritting
Posté : 03 mars 2020, 17:44
par bernard25
Désolé,
J'ai un module actualités et un module informations qui fonctionnent sur le même principe, j'ai tester sur le module informations car j'ai + d'enregistrements
Merci