Как я могу использовать mod_rewrite, чтобы удалить все, что находится после? (вопросительный знак) в URL?
Например:
http://127.0.0.1/ALL_FILES.php?test=1
после mod_rewrite:
http://127.0.0.1/ALL_FILES.php
Для php это означает, что суперглобальный объект $ _GET всегда будет пустым.
Цитата из mod_rewrite документы:
Шаблон не будет сопоставлен со строкой запроса. Вместо этого вы должны использовать RewriteCond с переменной% {QUERY_STRING}
Что-то вроде:
RewriteCond %{QUERY_STRING} .
RewriteRule ^/index.php /index.php? [L,R]
должен делать то, что вам нужно. Если вам не важно, что отображается для пользователя, а только то, что передается в php, вы можете не указывать флаг R.
RewriteCond %{QUERY_STRING} .+
RewriteRule ^(.*)$ /$1? [R=301,L]