Prob url rewriting et htaccess (resolu)

Nouveau WRInaute
Bonjour à tous

jai un petit prob sur un de mes sites avec l'url rewriting ou config apache, je ne sais pas trop si ca vient de l un ou de l'autre...

voila le probleme :

je presente des categories, j'ai donc un htaccess tout a fait normal, qui rewrite categorie.php?index=xxx en categorie,nomcategorie-index.html
jusque là tout fonctionne parfaitement sauf que :
Si quelqu un tape http://www.nomdusite.com/categorie/cate ... index.html, ben au lieu d'afficher une page erreur (le tiroir categorie n'existe pas...) ca affiche le resultat de categorie.php...dijoncté evidement car aucune image de la page ne sont au bon endroit et plus grave, je vois dans mes stat google qui je ne sais pas comment, commence a crowler ces pages en erreur et donc de risquer le duplicate content...
bref vous l'aurez compris ca m'angoisse meme si le site vient tout juste d'etre lancé...
Avez vous deja eu ce probleme ? y avez vous trouvé une solution ?

Enfin pour les pro du url rewriting, j'ai pas resussi a comprendre qu'elle etait la difference quand on met L ou NC entre crochet a la fin des rewrite dans le htaccess...Si ya quelqu un d'assez sympa pour me le dire svp[/code]
 
WRInaute passionné
il faut bien utiliser le ^ pour indiquer une chaîne au début de l'url et $ pour indiquer la fin
L indique que les règles suivantes ne sont pas évaluées dans la boucle courante d'évaluation.
NC permet d'être insensible à la case (majuscule/minuscule)
La règle doit ressembler à :
Code:
RewriteRule ^categorie,.*-([0-9]+)\.html$ /categorie.php?index=$1 [L]

Pour blinder le tout il vaut mieux ajouter un test en php qui vérifie que l'url est bien celle attendue. Sinon une petite redirection 301 avec la fonction header.
 
Nouveau WRInaute
RewriteEngine on
RewriteRule categorie,(.+)\-([0-9]+)-([0-9]+)\.html$ categorie.php?c=
$2&p=$3 [L]

voila mon script
jai tout essayer : ajouter ^devant, mettre NC, retirer les slashes, changer l ordre des regles
rien n y fait jai toujours le probleme...
 
Nouveau WRInaute
je viens de faire plusieurs essais

jai modifié mon script en mettant :

RewriteRule ^categorie,([A-Za-z0-9-]+)\-([0-9]+)-([0-9]+)\.html$
categorie.php?c=$2&p=$3 [L]

C'est mieux, mais du coup je me suis rendu compte que ca n'acceptait plus les caractères accentués. en fait finalement jai besoin que ca reconnaisse tous les caractères (lettre et chiffres) sauf les slashes (/)Quelqu'un pourrait il m'aider ? car je ne trouve pas comment on fait pour lui dire de refuser certains caracteres...
 
Discussions similaires
Haut