Bonjour à tous,
Je poste ici mon (premier) message car je pose la touche (presque finale) à mon site et que je souhaite appliquer des règles d'url rewriting sur deux liens dynamiques.
exemple :
www.lapatateenfollie.com/patate-blondine-24.html
en lieu et place de
www.lapatateenfollie.com/index.php?p=patate&id_produit=24
Jusqu'ici tout va bien, ce ne sont pas les infos qui manquent pour arriver à ce résultat
En revanche, après avoir lu à peu près partout qu'il ne fallait pas utiliser l'underscore dans les URL, sous prétexte qu'il n'était pas considéré comme séparateur par google, j'aimerais connaître la solution à adopter pour remplacer les espaces blancs comme dans l'exemple ci-dessous :
www.lapatateenfollie.com/patate-vitelotte-noire-24.html
Sachant que le séparateur de mon htacess et le tiret, on se retrouve avec un souci d’interprétation dans ce cas puisque violette noire est une seule info qui apparait juste dans l'url pour optimiser le référencement.
j'utilise donc cette forme :
www.lapatateenfollie.com/patate-vitelotte_noire-24.html
qui me convient parfaitement, puisque justement vitelotte et noire n'ont pas à être considéré comme deux variables.
Seulement, je ne voudrais pas opter pour une solution de facilité au risque de pénaliser mon site en terme de référencement.
J'ai donc pensé à utiliser le slash pour séparer les variables dans la réécriture des url, comme on le croise aussi, avec le tiret pour remplacer les espaces blancs et derrière une règle de rewriting comme suit
Ça ne fonctionne qu'à moitié, puisque la page désirée s'affiche bien, mais tous ses liens internes sont eux aussi réinterprétés... et donc je perds les feuilles de style, images, etc.
Peut-on m'éclairer sur les erreurs de débutants que je fais ? je sais bien que cette histoire d'espace blanc est absolument basique pour un habitué, mais en recherchant sur le forum je n'ai pas trouvé de sujets identiques (et les titres type "problème url rewriting" n'aident pas beaucoup...)
Qui plus est, on lit partout que l'underscore ne doit pas être utilisé dans les URL parce qu'il n'est pas considéré comme séparateur, mais justement, quand on désire avoir dans son url
l'underscore me semble parfaitement adapté puisqu'on ne souhaite surtout pas que la_patate_de_mes_reves soit interprété comme 5 variables...
Merci pour toutes les lumières (et merci au passage pour tout le reste, parce qu'il est rare que je ne trouve pas l'info que je cherche sur ce site )
Modifié par Brizio (07 May 2014 - 12:14)
Je poste ici mon (premier) message car je pose la touche (presque finale) à mon site et que je souhaite appliquer des règles d'url rewriting sur deux liens dynamiques.
exemple :
www.lapatateenfollie.com/patate-blondine-24.html
en lieu et place de
www.lapatateenfollie.com/index.php?p=patate&id_produit=24
Jusqu'ici tout va bien, ce ne sont pas les infos qui manquent pour arriver à ce résultat
RewriteRule patate-([_a-zA-Z0-9\-]+)-([0-9]+)\.html$ index.php?p=patate&id_produit=$2 [L]
En revanche, après avoir lu à peu près partout qu'il ne fallait pas utiliser l'underscore dans les URL, sous prétexte qu'il n'était pas considéré comme séparateur par google, j'aimerais connaître la solution à adopter pour remplacer les espaces blancs comme dans l'exemple ci-dessous :
www.lapatateenfollie.com/patate-vitelotte-noire-24.html
Sachant que le séparateur de mon htacess et le tiret, on se retrouve avec un souci d’interprétation dans ce cas puisque violette noire est une seule info qui apparait juste dans l'url pour optimiser le référencement.
j'utilise donc cette forme :
www.lapatateenfollie.com/patate-vitelotte_noire-24.html
qui me convient parfaitement, puisque justement vitelotte et noire n'ont pas à être considéré comme deux variables.
Seulement, je ne voudrais pas opter pour une solution de facilité au risque de pénaliser mon site en terme de référencement.
J'ai donc pensé à utiliser le slash pour séparer les variables dans la réécriture des url, comme on le croise aussi, avec le tiret pour remplacer les espaces blancs et derrière une règle de rewriting comme suit
RewriteRule patate/([-a-z]*)/([0-9]+)\.html$ index.php?p=collection&id_cat=$2 [L]
Ça ne fonctionne qu'à moitié, puisque la page désirée s'affiche bien, mais tous ses liens internes sont eux aussi réinterprétés... et donc je perds les feuilles de style, images, etc.
Peut-on m'éclairer sur les erreurs de débutants que je fais ? je sais bien que cette histoire d'espace blanc est absolument basique pour un habitué, mais en recherchant sur le forum je n'ai pas trouvé de sujets identiques (et les titres type "problème url rewriting" n'aident pas beaucoup...)
Qui plus est, on lit partout que l'underscore ne doit pas être utilisé dans les URL parce qu'il n'est pas considéré comme séparateur, mais justement, quand on désire avoir dans son url
www.lapatateenfollie.com/patate-la_patate_de_mes_reves-12.html
l'underscore me semble parfaitement adapté puisqu'on ne souhaite surtout pas que la_patate_de_mes_reves soit interprété comme 5 variables...
Merci pour toutes les lumières (et merci au passage pour tout le reste, parce qu'il est rare que je ne trouve pas l'info que je cherche sur ce site )
Modifié par Brizio (07 May 2014 - 12:14)