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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Apache] need help pour RewriteRule et regexp

 

Sujet(s) à lire :
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Apache] need help pour RewriteRule et regexp

n°1042391
ZeBix
edit > preview
Posté le 16-05-2008 à 11:57:19  profilanswer
 

Bonjour à tous,  
 
J'ai posté ce message sur le forum Windows & Software mais on m'a conseillé de plutôt le poster ici ..  
 
Alors le revoici, désolé pour le double post :  
 
--------------------------------------------------
 
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é) ?
 
 
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 ??

mood
Publicité
Posté le 16-05-2008 à 11:57:19  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Apache] need help pour RewriteRule et regexp

 

Sujets relatifs
Help me: perte de fichier avec NTRawrite sur un disque usb[Apache/Php] Droits exec() ?
[Apache] charger une page web sur le serveurpb avec mon disque dur multimédia Neo help??
Configuration VirtualHost apache[Debian - Apache] Soucis d'interface.
problème server : impossible de démarrer apache/mysqlRegexp pour trouver certaines chaînes
[Apache] administration à distance via Filezilla[apache] linker php à apache ?
Plus de sujets relatifs à : [Apache] need help pour RewriteRule et regexp


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