repertoires virtuels au fonctionnement aleatoire

Nouveau WRInaute
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)
 
Nouveau WRInaute
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:
 
WRInaute impliqué
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