URL rewriting not working

Just use this rewrite rule in your htaccess file,
it will strip all query strings.

RewriteRule ^(.*) /$1? [R=301,L]

to allow more rules to follow use this instead

RewriteRule ^(.*) /$1? [R=301]

remove 301 like this

RewriteRule ^(.*) /$1? [NE,L]

and refer the correct url for search engines.

without 301 you will need to make a canonical link
pointing to the correct url.

if you are rewriting the URL for SEO then a better
way might be to block search engines from crawling
pages with querry strings by adding this to your
robots txt file.

Disallow: /site/city-page/?*

This rule presumes you site directory is e.g /site/city-page/

Hope this helps