Comment modifier nos liens un fois le rewriting en place

  • Auteur de la discussion Auteur de la discussion yule
  • Date de début Date de début
WRInaute occasionnel
Re bonjour,

Maintenant que le rewriting fonctionne (ouf !) je dois modifier mes liens sur mes pages.... mais je ne sais pas comment

ex de lien sur ma page ;

<a href='sites.php?action=voir&id=$idcat'>

j'aimerais donc pouvoir afficher ce lien
/humory2/sites-voir-15.html (qui fonctionne)

avec la ligne ci-dessus

Le rewriting est fait ainsi....
RewriteRule ^sites-([a-z]+)-([0-9]+)\.html$ /humory2/sites.php?action=$1&id=$2 [L]

D'avance merci de votre exemple que je puisse tabler dessus pour la suite

Yule
 
WRInaute accro
>> je dois modifier mes liens sur mes pages.... mais je ne sais pas comment

en prenant tes doigts et en tappant les nouvelles urls dans ton code :)
 
WRInaute discret
Il faut changer ton lien d'origine index.php?id=1 par directement l'url que tu souhaiterais avoir (grâce au rewritting du .htaccess) ex: index-1.html
(Edit - ah déjà répondu...)
 
WRInaute occasionnel
:roll: non c'est pas drôle !!! :oops: lol

Oui je pense bien, mais peux-tu me donner un exemple svp avec ce lien

<a href='sites.php?action=voir&id=$idcat'>

je ne peux pas remplacer ce lien par ça sites-voir-15.html
car le $idcat est une variable

D'avance merci...

Yule
 
WRInaute discret
Moi j'ai le même type d'url sur mon site
A l'origine j'ai link.php?id=1 ou link.php?id=5 ...
Et j'ai mis ceci dans l'htaccess
Code:
RewriteEngine On 
RewriteRule ^([^/]*)\.html$ /link.php?id=$1 [L]
$1 dans l'htaccess est une variable

donc a present sur mon sommaire j'appelle l'url : 1.html ou 5.html ou ...
où les nombres sont les id variables.
Si c'est dans une boucle :
Code:
echo"<a href=\"$i.html\">lien $i</a>";

Pour afficher ton cas voici le code de l'htaccess
Code:
RewriteEngine On
RewriteRule ^sites-([^-]*)-([^-]*)\.html$ /sites.php?action=$1&id=$2 [L]
si la base c'est
Code:
http://www.exemple.com/sites.php?action=voir&id=$idcat
et l'appel du lien serait donc sites-voir-$idcat.html
 
WRInaute accro
url => sites-voir-15.html

regle => RewriteRule ^sites-([a-z]+)-([0-9]+)\.html$ /humory2/sites.php?action=$1&id=$2 [L]

resultat => /humory2/sites.php?action=voir&id=15 ($1 = voir, $2= 15)

ou est ton problème ?
 
WRInaute occasionnel
Re,

Ok, merci pour l'exemple !

J'ai donc fait ainsi mon lien

<a href='sites-voir-$idcat.html'>

ça fonctionne très bien, mais je voulais m'assurer que cette manière est juste ou il y a une autre manière ?

Merci d'avance

Yule
 
WRInaute accro
euh, je ne comprend toujours pas ou tu as un doute :) c est bien cela qu'il faut faire, pas de problème
 
WRInaute occasionnel
Re,

Ok merci, écoute j'ai 6 sites et avant de m'y lancer je voulais être plus que sur.... lol

Merci pour votre aide

Yule
 
WRInaute occasionnel
yule a dit:
écoute j'ai 6 sites et avant de m'y lancer je voulais être plus que sur.... lol
Je ne saurrais trop te conseiller de créer une fonction de génération de lien style : href_link($page, $param)

Ensuite tu crées tes lien de cette manière
Code:
echo "<a href="' . href_link("sites.php", "action=voir&id=" . $idcat) . '">";
Ca t'evitera de te fair ch*er dix plombe pour remodifier tes liens le jour où tu veux virer le rewrite ou que la forme de tes liens ne te plaisent plus. (genre utilisation de "," au lieu de "-" ou que sais je)
 
Nouveau WRInaute
Je viens d'arriver dans ce forum.
J'ai aussi des problèmes pour afficher l'extension .html dans la barre de navigation après le rewriting.

J'ai des liens "en dur" tel que pour yule.

Mais j'ai aussi des liens "dynamiques" générés à partir de select ...where articleID=1 (ou 2, ou 3) pour chaque catégorie de produits.

Comment changer ces liens en .html

Merci !
 
Discussions similaires
Haut