Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1712 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Apache] Paumé sur rédaction RewriteRule et regexp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Apache] Paumé sur rédaction RewriteRule et regexp

n°2779583
ZeBix
edit > preview
Posté le 15-05-2008 à 10:40:51  profilanswer
 

Bonjour à tous,  
 
J'en avais déjà parlé dans un autre topic, je me décide à mettre en place une solution via la RewriteRule d'Apache, pour solutionner un problème d'accès à des fichiers dont les noms comportent des accents.
 
Il s'agit ici d'administration système, je ne sais pas vraiment dans quelle catégorie poster ce message (plus en Windows et Software qu'en programmation, je dirais..)  
 
Voici ce que dit la doc officielle : http://httpd.apache.org/docs/1.3/m [...] ewriteRule
 
Je suis un peu paumé au niveau de la rédaction de mon expression régulière.  
 
Je voudrais faire la même chose qu'un rawurlencode(ut8_encode()) (cf. ce topic externe) au niveau d'une RewriteRule.
 
En gros : si dans le browser on entre :  
 
http://monsite.ext/chemin/testé.htm
 
je voudrais que ça soit transformé, via la RewriteRule , en :  
 
http://monsite.ext/chemin/test%C3%A9.htm
 
Vous me direz qu'Apache fait déjà ce genre de transformation... oui mais le problème c'est que chez moi il les change les é en %E9, et je n'ai pas le loisir de m'amuser à réinstaller Apache et encore moins à le recompiler avec la bonne directive de conversion... qui n'existe apparemment dans aucun fichier conf (toute preuve du contraire est laaaargement bienvenue !)
 
Je plante un peu sur la syntaxe du "search and replace"...
 
"[\xE9]" est le pattern pour trouver les é, [\xE8] pour les è, etc.
 
Je voudrais dire ceci à ma RewriteRule :  

Citation :

Si tu trouves, dans la dernière partie de l'URL (celle après le dernier slash), un [\xE9] dans le nom, eh bien redirige vers exactement la même URL, où tu remplaces ce caractère par %C3%A9.


 
Mieux encore :  

Citation :

Si tu trouves, dans la dernière partie de l'URL (celle après le dernier slash), un des caractères parmi la liste ([\xE9],[\xE8],...) dans le nom, eh bien redirige vers exactement la même URL, où tu remplaces ce caractère par, respectivement, (%C3%A9,%C3%A8,etc.).


 
 
Je plante sur  :
- Comment lui dire d'analyser un segment (de x à y, sachant que les deux sont dynamiques) d'une URL ?
- Comment lui donner comme paramètre de redirection ce même segment, moins un caractère en particulier ? Peut-être découper en deux segments ? Quid alors d'un mot comme "créée" avec deux accents qui se suivent ?
- Est-il possible de définir une array (la deuxième citation ci-dessus) ou dois-je écrire une RewriteRule pour chacun des accents possibles ? (avec une RewriteCond pour m'assurer que je redirige que ce qui doit être redirigé) ?
 
Rhaa je suis paumé


Message édité par ZeBix le 15-05-2008 à 10:41:48
mood
Publicité
Posté le 15-05-2008 à 10:40:51  profilanswer
 

n°2779730
ZeBix
edit > preview
Posté le 15-05-2008 à 17:40:55  profilanswer
 

J'ai trouvé ce topic qui parle d'un problème similaire, om l'utilisateur veut remplacer ses tirets soulignés par des tirets normaux.
 
Je suis un peu effaré qu'il doive faire une RewriteRule distincte pour chacune des situations potentielles (1 rule quand le mot contient 1 tiret, 1 rule quand le mot en contient 2 , etc.)
 
Je pourrais "évaluer" combien de caractères spéciaux mon URL peut contenir au maximum mais je trouve ça d'un cochon pas possible ..
 
N'y a-t-il pas moyen, via une regexp, de spécifier de remplacer toutes les occurences d'un caractère par un autre ??

n°2779734
bichtoubar​d
Posté le 15-05-2008 à 17:47:22  profilanswer
 

Tu as essayé d'aller en parler aux pro d'apache dans la section OSA ? ;)

n°2779866
ZeBix
edit > preview
Posté le 16-05-2008 à 11:46:50  profilanswer
 

Heheh je savais vraiment pas où poster ça, je le reposter dans cette section merci pour le tuyau ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Apache] Paumé sur rédaction RewriteRule et regexp

 

Sujets relatifs
Apache et VistaApache / Kerio / Port / DDOS
Apache comme serveur «ftp»Configurer apache en proxy sous windows, balise <proxy>
[windows] Apache 2.2 : activer le SSL ?[Apache] accès en LAN
Apache : améliorer l'apparence du listing des répertoiresAccès aux fichiers impossibles via Apache
[APACHE]Module d'authentification radius sur Windows 
Plus de sujets relatifs à : [Apache] Paumé sur rédaction RewriteRule et regexp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR