Je dois redirect toutes les demandes entrantes. par exemple: site.com?anystr
à site.com
J’ai essayé de le faire
RedirectMatch /?(.*)$ site.com
Mais cela provoque un transfert cyclique et je reçois une erreur du navigateur
Je crois que c’est le chapeau que vous voulez:
RewriteEngine on RewriteCond %{QUERY_STRING} .+ RewriteRule ^ /? [L,R=302]
c’est-à-dire que toute URL avec une chaîne de requête est redirigée vers root avec une chaîne de requête dépouillée en utilisant ?
dans la cible.
RedirectMatch
ne correspond à rien derrière le nom de domaine et avant la chaîne de requête. La regex /?(.*)$
correspondra à toute demande.
Vous devrez utiliser mod_rewrite. Activez mod_rewrite dans le fichier de configuration principal d’Apache et redémarrez Apache. Ajoutez ensuite ce qui suit à votre fichier .htaccess:
RewriteEngine on RewriteCond %{QUERY_STRING} .+ RewriteRule ^ - [QSD,R,L]
Changez le drapeau [R]
à [R=301]
après avoir testé cela fonctionne comme prévu.