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
Merci pour ta réponse,

Peux t'on forcer un affichage
actuellement : http://association/actualites/index.php?dirmodif=22

Par http://association/actualites

ou : http://association/actualites/actualité

Merci beaucoup

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
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.
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