ZeBix edit > preview | 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
|