UrlRewriting et Yahoo

WRInaute discret
Hello,

Je me suis aperçus que Yahoodonne comme résultats pour un de mes sites, les url sans le "/" à la fin, ce qui ammene directement sur une erreur 404 (exemple) (chose normale au vue de mes regles url rewriting).

Pourtant, tous mes liens sont avec un slash à la fin. Les autres moteurs référence correctement le site.

J'ai essayé le code suivant afin d'ajouter le slash manquant éventuellement dans l'url mais sans succes :
Code:
RewriteCond (.*)([^/])$
RewriteRule (.*)([^/])$   /$1/  [QSA,L]

thx ;)
 
WRInaute passionné
Rajoute un point d'intérogation aprés le dernier / de tes rewriterules

sur l'exemple

Code:
RewriteRule flash-games/([0-9]+)/? ...
ce qui indique la présence, ou non, d'un /
 
WRInaute discret
En fait ça me pose pb... exepliquations :

Code:
RewriteRule ^folder/([a-z])/(.*)/?$ /file.php5?var1=$1&var2=$2 [L]

Seul pb, si j'accede avec un slash à la fin, var2 ($2) retourne la variable et le slash (/) à la fin :(

Edit : Correction code
 
WRInaute passionné
Ah oui, c'est parce que les REGEX sont gloutons...

sur cette page tu peux lire :

Attention : les quantificateurs * et + sont "gloutons" ! (ou "avides", comportement par défaut). Cela signifie que le moteur d'expressions régulières, en cas de solutions multiples, opte pour celle qui reconnait le maximum de caractères.
Pour y remédier, on peut être plus précis dans l'écriture du motif ou neutraliser la gloutonnerie en mettant ? juste après un quantificateur + ou *


essaie ça :
Code:
RewriteRule ^folder/([a-z])/(.*?)/?$ /file.php5?var1=$1&var2=$2 [L]
 
WRInaute passionné
Effectivement, le modificateur ? semble ne pas marche dans les REGEX...

une autre solution qui marche :
Code:
RewriteRule ^folder/([a-z])/([^/]*)/?$ /file.php5?var1=$1&var2=$2 [L]
 
WRInaute discret
En fait il y a un pb :(

exemple : http://www.myx7.com/contact/ ne fonctionne pas, alors que sans le slash à la fin ça fonctionne.

Ton code ne fonctionne (enfin je pense) seulement quand dans le repertoire virtuel j'ai une page index (style index.php)

Pour info, le code :
Code:
Options -Indexes
DirectoryIndex index.php index.php3 index.php4 index.php5 index.html index.htm index.phtml
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^contact/?$ /form_contact.php5 [QSA,L]
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut