Je commence à apprendre les subtilités de l'url Rewriting, et je viens d'en créer un pour un site en cours de développement.
Comme c'est la première fois que j'en fais, il y a des chances que mon code ne soit pas excellent.
Les pages sont de la forme :
www.monsite.com/index.html
www.monsite.com/nom_rubrique/index.html
www.monsite.com/nom_rubrique/page-X.html
www.monsite.com/nom_rubrique/ID-nom+categorie/index.html
www.monsite.com/nom_rubrique/ID-nom+categorie/page-X.html
www.monsite.com/nom_rubrique/ID-nom+categorie/ID-nom+element.html
Avec en rouge, les éléments optionnels.
Et le fichier .htaccess ressemble actuellement à ça :
CODE
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^admin(/(.)*)?$ - [L]
RewriteRule ^(index.htm(l)?)?$
/home/index.php [L]
RewriteRule ^([a-z]+)(/(index.html)?)?$
/home/index.php?rubrique=$1 [L]
RewriteRule ^([a-z]+)/page-([0-9]+).html$
/home/index.php?rubrique=$1&page=$2 [L]
RewriteRule ^([a-z]+)/([0-9]+)(-([a-zA-Z0-9+]+))?(/(index.html)?)?$
/home/index.php?rubrique=$1&categorie=$2 [L]
RewriteRule ^([a-z]+)/([0-9]+)(-([a-zA-Z0-9+]+))?/page-([0-9]+)\.html$
/home/index.php?rubrique=$1&categorie=$2&page=$5 [L]
RewriteRule ^([a-z]+)(/([0-9]+)-([a-zA-Z0-9+]+))?(/([0-9]+)(-([a-zA-Z0-9+]+))?\.html)$
/home/index.php?rubrique=$1&categorie=$3&id=$6 [L]
Je me demandais surtout si, comme les urls étaient susceptibles de changer pour la même page (notamment en modifiant le nom d'un élément ou d'une catégorie), s'il y avait un risque du côté référencement par les moteurs de recherche.
Par exemple, si jamais je renseigne dans la bdd, le nom de catégorie "cattegorie", que google vient indexer la page en question, et que je décide de corriger la faute d'othographe (en renommant la page en "categorie").
J'aurai donc deux pages indexées (www.monsite.com/1-cattegorie et www.monsite.com/1-categorie), qui aboutiront au final au même endroit.
Y a t'il risque de pénalisation ?
De même, comme j'autorise d'arriver sur une catégorie (par exemple), en tapant
www.monsite.com/rubrique/ID-nom+categorie, ou
www.monsite.com/rubrique/ID-nom+categorie/, ou
www.monsite.com/rubrique/ID-nom+categorie/index.html,
cela peut-il avoir une incidence sur le référencement ?
Je précise par ailleurs, que j'utilise une fonction pour générer mes liens, et qu'ils sont donc tous sur la même forme (soit la dernière citée).
Je ne gère les autres cas (sans nommer le fichier index, ou sans le slash de fin de répertoire), que dans un souci d'éviter de générer des erreurs à tout va.
Et pour finir mon gros post de la matinée, je me posais une question :
je gérais actuellement les pages d'erreur en PHP, sans générer de véritable erreur (juste une inclusion d'une page appelée 404.php).
Je me demandais, au vu des capacités du htaccess, s'il ne valait pas mieux générer une véritable erreur en PHP (avec une en-tête 404), et laisser le htaccess afficher la page adéquate. Qu'en pensez vous ?
