RewriteCond %{QUERY_STRING} .+
RewriteRule ^(.*)$ /$1? [R=301,L]
Como posso usar o mod_rewrite para remover tudo depois do? (ponto de interrogação) em um URL?
Por exemplo: http: // 127.0.0.1/ALL_FILES.php?test=1 depois do mod_rewrite: http: // 127.0.0.1/ALL_FILES.php
Para php isso significa que o $ _GET super global estará sempre vazio.
Obrigado.
Citações do mod_rewrite docs:
The Pattern will not be matched against the query string. Instead, you must use a RewriteCond with the %{QUERY_STRING} variable
Algo ao longo das linhas de:
RewriteCond %{QUERY_STRING} .
RewriteRule ^/index.php /index.php? [L,R]
deve fazer o que você precisa. Se você não se importa com o que é exibido para o usuário, mas apenas com o que é passado para php, você pode deixar de fora o sinalizador R.
Tags mod-rewrite apache-2.2