besoin d'aide pour organisation url rewriting

Nouveau WRInaute
Bonjour à vous tous :)

Voilà, mon soucis n'est pas forcément un problème de script mais je n'arrive pas à aller au bout d"un url rewriting complet. Je m'explique.

1. J'ai un site (php et mysql) avec des template et des pages de contenu.
2. j'ai donc au départ des liens de ce type : template.php?page=concept
3. je cree un fichier ".htaccess" pour le rewriting url
4. je mets (pour mon exemple) :

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^monsite-concept\.html$ template.php?page=concept [L]

5. pour finir l'ooptimisation, dans mon menu, je change donc :
"template.php?page=concept" par "monsite-concept.html"

Vous etes d'accord jusque là ?
Je poursuis. Ce que je ne comprend pas c'est comment optimiser le référencement avec des liens dynamiques, exemple :
"template.php?page=concept&id=1" sachant que le lien qui y fait référence dans ma page php se présente ainsi : <a href="template.php?page=concept&id<?php echo $id; ?>"...</a>.

Ce que je n'arrive pas à comprendre c'est comment au final (pour le référencement), avoir un rewrite url de type :
RewriteRule ^monsite-concept-1\.html$ template.php?page=concept&id= [L]

et l'intérêt du référencement c'est d'avoir des liens propres. donc ce qui induit que le lien au final soit de type :
monsite-concept-1.html. Mais comment le noter puisqu'il est dynamique.

J'espère avoir été asez clair. J'ai vadrouillé sur pas mal de forums et je trouve toujours les mêmes indications.

Merci d'avance à vous.

Patrice
 
Nouveau WRInaute
je vais clarifier la chose :)

Je vais clarifier car je n'ai vraiment pas trouvé de réponse et certains peuvent penser que c'est un soucis récurrent sur ce forum.

Pour optimiser le référencement :
1. rewrite url : on est d'accord qu'avec
RewriteRule ^monsite-concept\.html$ template.php?page=concept [L]

google va taper sur monsite-concept.html, ce qui est beaucoup mieux pour le référencement.

2. dans le site le lien au final sera :
<a href="monsite-concept.html">...</a>

----------------------------------------------------------------

Pour les liens dynamiques, je ne comprends pas le procédé :
1. rewrite url : on est d'accord qu'avec
RewriteRule ^monsite-concept-1\.html$ template.php?page=concept&id=1 [L]

google va taper sur monsite-concept-1.html, ce qui est beaucoup mieux pour le référencement.

2. dans le site le lien au final on aura quoi en fait :
<a href="monsite-concept-1.html">...</a> ou faut-il rajouter des variables etc ?

Mici a vous
patrice
 
Nouveau WRInaute
une petite précision

Encore moi,

En fait ma question est aussi de savoir si l'important est le rewrite url pour les pages dynamiques si au sein même du site, les liens ne sont pas modifiés ?.
- Est-ce que cela sert à quelque chose ?.
- Comment google analyse cela ?.
- Est-ce que google tape sur le .htaccess et référence les urls réécrites ou est-ce qu'il se base sur les liens internes aux site ?

d'avance merci.

patrice
 
WRInaute accro
Google ne se basera que sur les liens internes au site. il ne peut pas accéder au contenu du .htaccess ... la mise en place de règles de réécriture est bien sur inutile si les liens ne sont pas modifiés dans le site, notamment les liens générés dynamiquement .
 
WRInaute impliqué
Patrice,

google est comme les autres visiteurs, ni plus ni moins (en fait moins, car il ne voit pas les images ni n'execute javascript...)

Il y a plusieurs cas de figure.

Avec les règles que tu donnes,

si un lien est de la forme href="http://monsite/monsite-concept.html"

alors de façon transparente (non visible par l'utilisateur), ce lien ouvre une page d'adresse monsite-concept.html, mais dont le contenu est calculé par la page template.php?page=concept

Dans ce cas, google ne voit que l'adresse monsite-concept.html

SI un lien est de la forme href="http://monsite/template.php?page=concept", alors cette adresse n'est pas réécrite, et google voit cette adresse.

Le mieux est que tu engendre des liens dans la forme propre, donc des liens de la forme
href="http://monsite/monsite-concept.html"

Si tu ne peux pas, il faut récrire le surl avec une regle de la forme

Code:
RewriteRule ^template\.php\?page=concept$  monsite-concept.html [R=301]

Le R=301 est une redirection visible par les visiteurs. Une adresse de la forme template.php?page=concept est récrite en monsite-concept.html. Ceci est valable pour google, qui n'indexera que cette dernière adresse.

le problème c'est que ça va boucler avec la première règle... Dans ce cas, je te suggère d'utiliser un deuxième nom, par exemple template2.php dans les règles.

Tu crée des liens dynamiques de la forme href="http://monsite/template2.php?page=concept"

et tu as les deux règles de récriture suivantes:

Code:
RewriteRule ^template2\.php\?page=concept$  monsite-concept.html [R=301]
RewriteRule ^monsite-concept\.html$ template.php?page=concept  [L]

Ceci assure que les adresses indéexées sont de la forme monsite-concept.html
 
WRInaute accro
Code:
RewriteRule ^template\.php\?page=concept$  monsite-concept.html [R=301,L]
L'ajout de "L" a la fin de la déclaration ne supprime-t-elle pas tout risque de boucle? Si le cas de ficgure décrit dans la règle est rencontré, il n'exécute pas les suivantes
 
WRInaute impliqué
nickargall a dit:
Code:
RewriteRule ^template\.php\?page=concept$  monsite-concept.html [R=301,L]
L'ajout de "L" a la fin de la déclaration ne supprime-t-elle pas tout risque de boucle? Si le cas de figure décrit dans la règle est rencontré, il n'exécute pas les suivantes

Je ne peux pas tester maintenant, mais j'avais essayé ça il me semble... et mon serveur bouclait...

C'est pour éviter tout risque que je propose d'utiliser un autre nom. Ca ne coute rien.

Je vais reessayer ce soir.
 
Nouveau WRInaute
encore moi :)

Alors tout d'abord merci pour vos réponses.

Puis-je abuser ?
Si j'écris ca dans le fichier access :
RewriteRule ^portfolio-illustration-([0-9]+)\.html$ template.php?page=portfolio-illustration&id=$1 [L]

et que dans mon code html j'ai cela :
<a href="portfolio-illustration-<?php echo $id; ?>.html">...</a>

c'est tout bon non ? pour le référencement. En tout cas cela marche très bien mais en terme de sécurité, boucle etc ?

Mici en tout cas à vous tous, on se sent moins seul :)

Patrice
 
WRInaute impliqué
Re: encore moi :)

ritepac a dit:
Alors tout d'abord merci pour vos réponses.

Puis-je abuser ?
Si j'écris ca dans le fichier access :
RewriteRule ^portfolio-illustration-([0-9]+)\.html$ template.php?page=portfolio-illustration&id=$1 [L]

et que dans mon code html j'ai cela :
<a href="portfolio-illustration-<?php echo $id; ?>.html">...</a>

c'est tout bon non ? pour le référencement. En tout cas cela marche très bien mais en terme de sécurité, boucle etc ?

Mici en tout cas à vous tous, on se sent moins seul :)

Patrice

Il me semble que c'est tout bon.

La récriture c'est puissant, mais complexe a maitriser!
 
Discussions similaires
Haut