Page 1 sur 1

htaccess redirection soucis avec point d'interrogation

Posté : 27 janv. 2018, 17:21
par FredoMkb
Bonjour à tous :)

Malgré plusieurs heures de recherche et de tests, je n'arrive toujours pas à résoudre ce cas de figure : je souhaite faire une simple redirection à partir d'une adresse fixe vers une autre dynamique, autrement dit, je reçois une adresse :

Code : Tout sélectionner

/folder1/folder11/file1.pdf

Et je souhaiterai avoir :

Code : Tout sélectionner

/folder1/folder11/index.php?file=file1

Alors, lorsque j'écris une directive "RedirectMatch" dans le fichier "htaccess" comme suit :

Code : Tout sélectionner

RedirectMatch permanent "/folder1/(.*)/(.*)\.pdf$" "/folder1/$1/index.php?file=$2"

J'obtiens l'url suivante :

Code : Tout sélectionner

domaine.com/folder1/folder11/index.php%3Ffile=file1

Or, vous l'avez compris, cela génère une erreur et le fichier "index.php" n'est jamais exécuté…

Alors, que faire pour que le point d'interrogation "?" dans le chemin de redirection ne soit pas converti en "%3F" ?

En consultant le site d'Apache, j'ai vu qu'il était possible de changer l'encodage par défaut des caractères, alors j'ai ajouté cette directive :

Code : Tout sélectionner

AddDefaultCharset utf-8

Mais, ça ne résout rien, j'ai toujours un "%3F" à la place d'un point d'interrogation "?"…

Bref… toute suggestion est la bienvenue :)

Re: htaccess redirection soucis avec point d'interrogation

Posté : 27 janv. 2018, 18:54
par @rthur
Bonjour,

Alors je n'ai pas la solution en utilisant RedirectMatch (qui appartient au module Apache mod_alias)
Ma préconisation serait que tu utilises à la place RewriteRule (qui appartient au module Apache mod_rewrite), et qui a prévu ce cas là, il suffit d'ajouter le flag [NE] (pour No Escape) à la fin de la règle pour que ça fonctionne comme tu le souhaites.
https://httpd.apache.org/docs/2.4/fr/rewrite/flags.html

Re: htaccess redirection soucis avec point d'interrogation

Posté : 28 janv. 2018, 22:31
par FredoMkb
Bonsoir et merci beaucoup de ta réponse… je vais essayer ta proposition et te tiens au courant… :)