I am trying to redirect a page via my .htaccess, but it does not seem to be working.

Old page: /dyn/?q=customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1

New page: /customer-references/

So it should be as simple as this:

RewriteEngine On
RewriteCond %{QUERY_STRING}  ^q=customer(?:[\ +]|%20)reference&f=1$ [NC]
RewriteRule ^dyn/$ /1? [R=301,NE,NC,L]

But it does not seem to be working. Is it because the original page's dynamic URL?

The new page is actually a different physical php page if that matters.

BTW, I also tried a straight 301 Redirect in the .htaccess. That didn't seem to work either:

redirect 301 /dyn/?q=customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1 /customer-references/

And another failed attempt was this:

RewriteCond %{QUERY_STRING} ^customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1$
RewriteRule ^$ http://www.domain.com/customer-references/? [R=301,L]

Am I making this more difficult than it needs to be?

  • Your RewriteRule replaces the URL which is dyn/ (nothing else). Try getting rid of the $ after dyn/ Jan 25, 2012 at 14:19
  • Removing the $ after dyn in the RewriteRule doesn't seem to do it. Can I hard code the "/?q=customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1" in the RewriteRule?
    – Keefer
    Jan 25, 2012 at 14:45
  • Not sure. Another problem is the $ after $f=1$ in RewriteCond. That means you only look for strings that end like that, and so won't match f=1,1,1,1, etc. Jan 25, 2012 at 16:50

1 Answer 1


This did it, though I can't take credit for finding the solution on my own. Sister site stackoverflow offered up the proper code for .htaccess

RewriteCond %{QUERY_STRING}  ^q=customer%20reference&f= [NC]
RewriteRule ^dyn/$ /customer-references/? [L,R=301]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.