removing just “?m=1” from url using rewrite rule

2019-09-03 03:52发布

问题:

just few day before i had migrated my blogger blog to wordpress. Now i find crawn error with many url, at the end of many url the name and value is there (?m=1) which shown as a 404 error now i want to redirect all the url additing .htaccess file example:

http://www.tipsviablogging.com/blogger-tricks/facebook-disqus-tab-in-blogger.html?m=1

musy redirect to

http://www.tipsviablogging.com/blogger-tricks/facebook-disqus-tab-in-blogger.html

any one is having expertise in url rewrite kindly help me...

回答1:

I haven't got a test system handy, but something like this in your .htaccess should do the trick:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^m=1$
RewriteRule ^(.*)$ /$1? [R=301,L]

If memory serves, you need the ? at the end of the target in the RewriteRule to stop the original query string being appended.

The code assumes you haven't got any other parameters (eg it won't work if you have ?m=1&foo=bar).



回答2:

I want to add a solution on NginX:

Use below code in "location /" Of VirtualHost config

if ($query_string ~ "^m=1$"){
  rewrite ^(.*)$ /$1? redirect;
}