Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove query string from redirected URL with htaccess

I'm using the following code to redirect traffic to a spesific page (this traffic is coming via google from an old site which used to use my servers ip)

RewriteRule ^viewtopic.php?/?$ http://www.myurl.org.uk/ [L,R=301]

As I understand it this ^viewtopic.php?/?$ should strip away the query string but it isn't working. Any help appreciated.

Example URL

http://www.myurl.org.uk/viewtopic.php?f=3&t=44207&start=2265

Output when redirected

http://www.myurl.org.uk/?f=3&t=44207&start=2265
like image 486
toomanyairmiles Avatar asked Jan 21 '12 20:01

toomanyairmiles


1 Answers

You were close to the answer... You have the ? on the wrong side. Put it on the redirect side to strip off the query string:

RewriteRule ^viewtopic.php http://www.myurl.org.uk/? [L,R=301]

In a 301 redirect, mod_rewrite will normally append the full query string. But placing a ? at the end of your rewritten URL without a corresponding [QSA] ("querystring append") flag will instruct it instead to use the blank query string you supplied.

like image 77
Michael Berkowski Avatar answered Sep 23 '22 23:09

Michael Berkowski