htaccess 301 redirect - Remove query string (QSA)

Solution 1:

You can use this rule:

RewriteRule ^menu\.php$ /new-page-name? [L,R=301]

Take note of trailing ? in the end which is used for stripping off any existing query string in the original URI.

Solution 2:

In addition to anubhava's answer you can alternatively use the QSD flag from Apache 2.4.0

RewriteRule ^menu\.php$ /new-page-name [L,R=301,QSD]

http://httpd.apache.org/docs/current/en/rewrite/flags.html#flag_qsd