%3F sur url réécrite

  • Auteur de la discussion Auteur de la discussion nile
  • Date de début Date de début
WRInaute discret
Hello,
Je me suis rendu compte la semaine dernière que ma réécriture d'url via htaccess qui a toujours fonctionné et que je n'ai pas modifié depuis très longtemps me fait un truc bizarre : elle rajoute %3F à la fin de l'url ce qui rend la page introuvable. J'arrive pas à trouver le pourquoi, voici le code du htaccess :

Code:
RewriteCond %{QUERY_STRING} ^page=([-a-zA-Z]+)&Mot=([a-zA-Z0-9+-_%2B%27%23%26%28%29%2B%2C%2E%2F%3A%3B%3C%3D%3E%3F%40%5B%5C%5D%5E%60%7B%7C%7D%7E%E8%E9]+)$

RewriteRule ^/?$ https://code-a-domicile-boutique.com/%1-%2-recherche.html? [L,R=301]

#

RewriteRule ^([-a-zA-Z]+)-([a-zA-Z0-9+-_%2B%27%23%26%28%29%2B%2C%2E%2F%3A%3B%3C%3D%3E%3F%40%5B%5C%5D%5E%60%7B%7C%7D%7E%E8%E9]+)-recherche\.html$  /index.php?page=$1&Mot=$2 [NC,L]

Si quelqu'un a une idée ...
 
WRInaute impliqué
%3F, ça correspond au point d'interrogation.

Le problème me semble être sur cette ligne : RewriteRule ^/?$ https://code-a-domicile-boutique.com/%1-%2-recherche.html? [L,R=301] où il faut retirer le point d'interrogation après .html
 
WRInaute impliqué
Tu veux donc supprimer la query lors de la redirection ? En principe, elle est automatiquement supprimée, une configuration ailleurs fait peut-être qu'elle se maintient dans ton cas. Bref, essaye en ajoutant le flag approprié QSD (pour Query string discard) et donc :
Apache config:
RewriteRule ^/?$ https://code-a-domicile-boutique.com/%1-%2-recherche.html [L,QSD,R=301]
 
Discussions similaires
Haut