Bonjour,

Je sèche sur un regex qui ne fonctionne pas exactement comme je le souhaiterais...

RewriteRule ^(arithmetique|algebre|geometrie)/?$ cours.php?cat=$1 [L]

Donc quand l'utilisateur tape monsite.com/arithmetique ou monsite.com/arithmetique/ je souhaiterai que la page qui s'affiche soit monsite.com/cours.php?cat=arithmetique

Pas de soucis ca fonctionne, par contre... si l'utilisateur tape monsite.com/arithmetique// ou meme monsite.com/arithmetique//////// la page qui s'affiche est aussi monsite.com/cours.php?cat=arithmetique

Pourtant j'ai bien stipulé dans mon regex grâce au point d'interrogation que la barre oblique ne pouvait apparait qu'une ou zéro fois.

Plus largement, j'ai constaté en investiguant sur ce mystère que je peux accéder à n'importe quelle page de mon site style contact.php via contact.php// ou meme contact.php//////////////

Cela ne pose-t-il pas des problème de contenu dupliqué et donc réduit les performances en terme de SEO ?

Si oui comment pallier au problème ?

Un grand merci d'avance pour votre aide !!

2 réponses


Huggy
Réponse acceptée

J'ai remarqué aussi le comportement étrange d'apache avec le/les trailing slash
en activant le rewrite::trace dans le httpd.conf on remarque qu'Apache retire les trailing slash pour tester si l'url est un fichier
puis rajoute un seul trailing slash pour tester si l'url est un directory
donc pour moi c'est impossible de détecter plusieurs trailing slash dans la regex car ils ont été supprimés avant.

Concernant le SEO, Google indique ici qu'il faut choisir une des deux formes (avec ou sans trailing slash) au choix et faire une redirection 301 si l'utilisateur n'utilise pas la bonne.
Si les 2 formes renvoient 200 OK, il faut indiquer dans la page quelle est la bonne forme, celle qu'il faut indexer
pour cela on ajoute une balise link

<link rel="canonical" href="http://monsite.com/geometrie/" />

idem si on redirige http vers https
idem si on redirige www.monsite.com vers monsite.com

si on calcule bien cela fait 8 formes dont 7 à rediriger
comme disait Highlander "il ne doit en rester qu'une"

Merci pour ta réponse très complète, je ne connaissais pas cette balise link canonical, j'essayais de dompter les moteurs de recherche exclusivement avec des redirections, ca va m'etre fort utile dans certains cas :)