Aller au contenu

Sujets conseillés

Posté

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 :

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.

Posté

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.

Posté (modifié)

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 ?

Modifié par NT Koncept
Posté

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.

Posté

OK, merci, je comprend maintenant :-)

Par contre, cela veut dire que je dois réécrire tout le script :blink:

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...