Это работает:
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^/?([^/\.]+)$ /$1.php [L]
Идея состоит в том, чтобы убедиться, что есть строка запроса (знак вопроса и прочее), и если это так, проверить, не имеет ли расширение перед знаком вопроса расширение, и если да, добавить .php.