8796 sujets

Développement web côté serveur, CMS

Salut à tous,

Je me lance dans mon premier url rewritting et j'aurais besoin de vos conseils Smiley cligne
J'ai près de 400 url à réécrire alors j'ai fait au plus simple (avec mes très modestes connaissances de ce sujet !).
Le but étant de remplacer :
http://www.xxxxxx.com/test/affich.php?lien=446

446 étant l'id de la fiche d'un membre (dans ma bdd)
par :
http://www.xxxxxx.com/test/affich.php/[b]nomdumembre[/b]


J'ai donc écrit la règle suivante :
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^toto\.html$  /test/affich.php?lien=446 [L]


Cela fonctionne très bien mais j'aurais aimé votre avis sur 3 petits points :
- Cette règle est-elle complète et/ou sécurisée ?
- Pour le référencement, faut-il mieux écrire : toto.html, toto.htm ou tout simplement toto (sachant que dans la réalité le nom est évocateur) ?
- De nature fainéante, rien qu'à l'idée d'écrire 400 lignes je suis fatigué Smiley confus . Ne pourrais-t-on pas aller chercher "toto" dans ma base de données puisque l'id de toto est 446, 447 pour riri...etc ?

Merci d'avance de vos lumières Smiley murf
Bye
Zed1
Je t'arrête tout de suite, je pense que tu n'as pas tout à fait compris l'entièreté de l'utilité de l'urlrewriting...

plutot que d'avoir toto.html qui redirige vers affich.php?id=466, l'idéal c'est d'avoir membre-toto-466.html ou membres/466-toto.html ou membres-466/toto.html ou ... qui redirige vers affich.php?id=466.

A partir de ce moment là, tu n'as qu'UNE SEULE règle à utiliser, exemple pour membre-toto-466 tu as comme règle quelque chose qui ressemble à ceci :

RewriteRule ^membre-([a-z]*)-([0-9]*)\.html$  /test/affich.php?lien=$2 [L]

=> l'adresse commence par "membre-" puis est suivie d'un nombre indéterminé de lettres puis est suivie d'un tiret, puis est suivie d'un nombre indéterminé de chiffres, et termine par html.

Et donc, pas besoin d'écrire 400 règles...

Concernant tes autres questions :
- une règle n'est en sois pas sécurisée ou non, c'est plutôt la page vers laquelle on redirige qui doit être sécurisée...
- pour le référencement, personnellement j'ai pour habitude d'utiliser html mais je t'avoue que je ne pense pas qu'il y ait de différence significative entre les différentes solutions, à confirmer. PAR CONTRE, il est indispensable que ton url réécrite soit explicite pour l'utilisateur comme pour les robots google et compagnie, c'est là que ça pourra jouer sur ton référencement. Ainsi, pour la fiche membre de toto, on préférera une url du type "membres/toto-466.html" à "xqss-77782-sdq.html?newpid=8272&r=9&n=toto".
Cela doit être les limites de mes compétences intellectuelles mais du coup tas réponse m'a quelque peu embrouillé...déjà qu'avant c'était pas très clair pour moi Smiley confus
En français :
Aujourd'hui, j'ai une page affich.php qui permet d’accéder à des fiches qui sont appelées depuis ma base de données.
Lorsque j'appelle une des mes 400 fiches à partir d'une autre page, l'url qui apparait est :
http://www.xxxxxx.com/affich.php?lien=1

pour le "membre 1
1 est en fait l'id de la fiche
(Le nom du membre est toto)
http://www.xxxxxx.com/affich.php?lien=2

pour le "membre 2
2 est en fait l'id de la fiche
(Le nom du membre est riri)

et ainsi de suite...

Ce que je souhaiterais c'est que :
- désormais lorsque j'appelle une de mes 400 fiches, l'url qui apparaisse soit :
http://www.xxxxxx.com/affich.php/[b]le champs NOM de l'id concernée soit : toto pour l'ancienne fiche 1, riri : pour l'ancienne fiche 2...[/b]

- mais aussi que ceux qui ont "bookmarké" leur page soit redirigé vers la nouvelle adresse
- que les moteurs de recherche n’interprètent pas un "duplicate content" et comprennent que désormais :
http://...affich[b]?lien=1[/b]
est :
http://...affich[b]/toto [/b]


Merci de ton aide !
Modifié par Zed1 (16 Aug 2011 - 16:18)
Et la réponse ci-dessus est parfaitement claire.

Une règle de réécriture est une règle utilisant la syntaxe des expressions régulières.