Как я понимаю, через
%{QUERY_STRING}
запросы, заканчивающиеся на одинокий знак вопроса, невозможно отличить от таковых без оного, но можно воспользоваться переменной
%{THE_REQUEST}
, содержащей полный запрос (см.
httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rew...):
RewriteCond %{THE_REQUEST} ^\S+\s+/\?\s
RewriteRule "" http://example.com/? [R=301,L]
Что касается
http://example.com/
и
http://example.com
, то второй адрес браўзером преобразуется в первый и на сервер поступает ничем не отличимый запрос, так что перенаправлять нечего.