Логика должна быть такая:
site.com/? [любое значение] -> 301 ->
site.com
site.com/page.html?page= [любое значение] -> 200 Ok
site.com/page.html? [любой параметр, кроме page] -> 404 Not found
site.com/items/items.php?art= [любое значение] -> 200 Оk
site.com/items/items.php? [любой параметр, кроме art] -> 404 Not found
Самое близкое что нагуглил
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \? [NC]
RewriteCond %{THE_REQUEST} !page [NC]
RewriteRule ^(.*)?(.*)$ http://site.ru/$1? [R=301,L]
Но в этом случает не работает items/items.php?art=