repertoires virtuels au fonctionnement aleatoire

salut
je fais en ce moment un site de création de blog et j'ai un soucis d'url rewtriting

je voudrais en fait rediriger
www.monsite.com/jaques vers www.monsite.com/blog.php?pseudo=jaques

en fait cela fonctionne correctement pour :
www.monsite.com/jaques/
mais pas pour :
www.monsite.com/jaques

s'il n'y a pas de slash, il retourne une erreur 404

voici mon htaccess :

Code:
RewriteEngine on
RewriteRule ^(.*)/$  /blog.php?pseudo=$1  [L]
RewriteRule ^(.*)/index\.html$  /blog.php?pseudo=$1  [L]

(en retirant le slash avant le $ cela retourne une erreur du serveur)
 
Le résultat n'est pas aléatoire :).
Ceci
Code:
^(.*)/$
correspond à une URL finissant avec un slash, si tu veux accepter l'URL sans slash :
Code:
^(.*)/?$
Le '?' signifie que le caractère précédent (ici le slash) apparait 0 ou 1 fois.
http://www.expreg.com/ est intéressant pour ceux qui veulent savoir comment utiliser les RegExp et cette page récapitule les différents symboles. :wink:
 
En effet la règle (.*) provoque souvent des conflits car c´est un peu un fourtout. Donc il vaut mieux être plu précit, comme par exemple:

RewriteRule ^([^/.]+)/?$ est une règle plus pratique car renvoi tout sauf les uri sur un autre répertoire que la racine, et les uri avec un '.'
 

➡️ 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