Portekoi Posté 11 Mai 2010 Posté 11 Mai 2010 Bonjour, Même une simple redirection, je n'y arrive pas J'aimerais que l'URL "ville-paris-75000.php" soit retranscrise en "ville.php?ville=paris&cp=75000" Voici la ligne de htaccess : RewriteRule ^ville-([^a-zA-Z]+)-([0-9]+)\.php$ /ville.php?ville=$1&cp=$2 [L] Merci d'avance Portekoi Re, J'ai trouvé : il fallait simplement mettre cette ligne au dessus de ma gestion de 404 et non en dessous... Portekoi Correction, il faut enlever le ^ : RewriteRule ^ville-([a-zA-Z]+)-([0-9]+)\.php$ /ville.php?ville=$1&cp=$2 [L]
Dan Posté 12 Mai 2010 Posté 12 Mai 2010 Oui parce que le ^ à l'endroit où tu le mettais représentait une négation donc [^a-zA-Z] signifie tout sauf les lettres de a à z. Pour info, tu pourrais écrire ta règle : RewriteRule ^ville-([a-z]+)-([0-9]+)\.php$ /ville.php?ville=$1&cp=$2 [NC,L] en utilisant le flag NC (pour No Case) rendant l'expression insensible à la casse.
Portekoi Posté 12 Mai 2010 Auteur Posté 12 Mai 2010 Re, Merci pour cette correction. Que dois je ajouter dans mon htaccess pour qu'il ne soit pas sensible à la casse sur toutes URL? Par exemple : "test.Php" me renvoie une 404 alors que la page est "test.php" Merci
Dan Posté 12 Mai 2010 Posté 12 Mai 2010 Le flag NC que j'ai mis dans l'exemple doit jouer dans ce cas...
captain_torche Posté 12 Mai 2010 Posté 12 Mai 2010 Sauf que si j'ai bien compris, test.php ne rentre pas dans le cadre d'une règle de réécriture.
Dan Posté 12 Mai 2010 Posté 12 Mai 2010 C'est vrai qu'il manque les numéros Cela ne colle donc pas avec la règle initiale !
Portekoi Posté 12 Mai 2010 Auteur Posté 12 Mai 2010 En faites, je ne sais pas comment lui dire de ne pas prendre en compte la casse pour toutes les URL saisies... Désolé, c'est une autre question mais qui rejoins le rewriting
Dan Posté 12 Mai 2010 Posté 12 Mai 2010 Il suffit d'utiliser le flag NC (noCase) en fin de chaque règle de réécriture, par exemple [NC,L], [NC,QSA,L] ou [R=301,NC,L]
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant