Version complète: sur le forum Webmaster Hub : URL Rewriting
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Pixame
Bonjour,

J'ai des URL du style :
page.php?id=25
list.php?c=variable
ou encore links.php?c=variable

J'ai donc mis dans mon .htaccess le code suivant :
CODE
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^article-([0-9]+)\.html$  /page.php?id=$1  [L]
RewriteRule ^rubrique-([^-]+)\.html$  /list.php?c=$1  [L]
RewriteRule ^annuaire-([^-]+)\.html$  /links.php?c=$1  [L]


Ainsi si je tape article-25.html, j'ai bien le contenu de la page page.php?id=25 qui s'affiche.

Mais comment faire pour que les liens dynamique appelé par mon site soient automatiquement transformés en lien URL rewrité ?

Merci.
Anonymus
Bonjour,

comment se présente le lien, dans ton script ?

grosso modo, ce doit etre un lien du style :

echo"<a href=\"./page.php?id=".$id."\">";

il faut le transformer en :

echo"<a href=\"./article-".$id.".html\">";

voilà.
A+, Anonymus.
Pixame
Merci Anonymus, mais je comprend pas vraiment plus... Il me semblait que c'était ce que faisait le htaccess que j'avais fait.

Ca doit ressembler à quoi ce que je dois rajouter dans mon .htaccess ?
Anonymus
Le code que tu as mis permet de régler le cas des liens entrant. Autrement dit, ca marche lorsqu'une personne tape ce genre d'url dans la barre d'adresse.

Mais : En aucun cas ce script ne modifie quoique ce soit dans ta page.

Ainsi :

Si ton code html se présente comme ceci
<a href=./page.php?id=5>
ce n'est pas en ajoutant le htaccess qu'il va se transformer. Il continuera à s'afficher comme ca.

C'est pourquoi il faut changer le code source html.
Ainsi, les liens visibles de ton site seront de la forme
article-5.html

Alors... pourquoi le htaccess ? Simple.
Tu changes les liens html pour qu'ils deviennent :
article-5.html.
Lorsqu'un internaute tape article-5.html, le serveur va dire : le fichier n'existe pas.
Si tu as mis un fichier htaccess, comme tu présentes le code ci dessus :
lorsqu'un internaute tape article-5.html, avant de chercher si le fichier existe, le serveur ira lire le htaccess, et transformera le nom du fichier en :
page.php?id=5


Donc, en résumer :
D'un coté, le htaccess gère les liens 'entrant',
d'un autre coté, tu dois toi aussi changer le code html, pour qu'il affiche des liens 'sortant' compatibles avec le htaccess.

Voilà.
A+, Anonymus.
Pixame
OK, merci, je comprend maintenant :-)

Par contre, cela veut dire que je dois réécrire tout le script blink.gif
Anonymus
oui, ou au moins tous tes liens wink.gif

le référencement doit se penser dès la conception du programme, et ... pas à la fin sad.gif

ps : quitte à tout 'reprendre', profites pour voir tout ce qu'il y a à faire au niveau code. (javascript, balise alt, etc...)

Anonymus.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.