Pixame
dimanche 21 mars 2004 à 23:07
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
dimanche 21 mars 2004 à 23:27
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
lundi 22 mars 2004 à 00:01
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
lundi 22 mars 2004 à 00:11
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
lundi 22 mars 2004 à 00:17
OK, merci, je comprend maintenant :-)
Par contre, cela veut dire que je dois réécrire tout le script
Anonymus
lundi 22 mars 2004 à 08:13
oui, ou au moins tous tes liens

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

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