Redirection 301 pour toutes les demandes

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.