signe % dans URL

Nouveau WRInaute
Bonjour,

Apres une rapide recherche je n'ai pas trouver mon bonheur...

J'ai 1 l'url dynamique de cette forme

motcle-marque-00-0000.html

marque dois pouvoir prendre la forme de majuscule, minusucule, caracteres accentué et caractère speciaux du type _ - et %

Dans .htaccess si je fais
^motcle-.*-([0-9]*)-([0-9]*).html$
le signe % n'est pas compris

j'ai donc tenté sans succès
^motcle-.*%*.*-([0-9]*)-([0-9]*).html$

quelqu'un voit il une solution ?

Par avance merci merci
 
WRInaute occasionnel
c'est étonnant. tu as essayé avec un logiciel de test d'expressions régulières ?

peut être que le % a une signification particulière et qu'il faut spécifier que c'est le caractère pourcent donc \% ?

[edit] ah ben oui c'est une URL donc % est réservé, bravo Loobot, moi j'étais resté branché sur les expressions régulières en général
 
Nouveau WRInaute
non je n'ai pas tester sur un logiciel d'expression reguliere à vrai dire je ne savait meme pas que ca existé :) (a la pogne avec le bloc note)

et je me suis fait la reflexion que % pouvait avoir une signification particuliere j'ai donc egalement essayé sans succès
^motcle-.*\%*.*-([0-9]*)-([0-9]*).html$

Je sais qu'en dernier recours je peux supprimer le signe % de mon URL en amont dans mon fichier php mais ca me gene un peu
le signe % faisant partie intégrante de la marque
 
WRInaute occasionnel
Le % est réservé dans les URL pour coder les caractères spéciaux (comme les accentués).

Si ma mémoire est bonne, %20 correspond par exemple à un espace. Donc impossible à utiliser dans un nom de domaine.
 
Nouveau WRInaute
Le % pas dans le nom de domaine mais dans l'url de la page

mais effectivement apres avoir tester de deposer une page nommer bla%bla.html ca ne marche pas...

je vais donc changer le lien à la source pour supprimer %

merci pour ton aide
 
WRInaute discret
Je fais remonter le sujet vieux de plusieurs années :)
J'ai un intranet d'une banque connue qui fait des liens sur l'un des sites de ma boite mais avec une erreur dans l'url. J'ai beau tenté de trouver un contact mais impossible.
Je cherche donc à rediriger la page hotel_%0bindex_bergere-opera_29.html en supprimant le %0b

J'ai testé ceci mais ca n'a pas d'effet
Code:
RewriteRule ^hotels/france/paris/hotel_\%0bindex_bergere-opera_29\.html$ http://www.cybevasion.fr/hotels/france/paris/hotel_index_bergere-opera_29.html [R=301,L]

Quelqu'un aurait une idée ?
 
WRInaute discret
je me répond à moi meme mais la solution n'est pas générique
voilà ce que j'ai écris et qui fonctionne mais ca n'est pas général
Code:
RewriteRule ^hotels/france/paris/hotel_(.+)index_bergere-opera_29\.html$ http://www.cybevasion.fr/hotels/france/paris/hotel_index_bergere-opera_29.html [R=301,L]

n'yaurait-il pas moyen de faire les redirections en supprimant tous les caractères que je ne veux pas ?
 
Discussions similaires
Haut