8

If I have:

redirect 301 /users/foo http://www.example.com/profiles/foo
redirect 301 /users/bar http://www.example.com/profiles/bar

Can I do something like?

redirect 301 ^\/users/(.+)$ http://www.example.com/profiles/$1

Edit

Found a solution:

RedirectMatch users/(.+) http://www.exapmles.com/profiles/$1 [R=301,L]

This actually redirects instead of rewriting.


Edit 2

See @Darth Android's solution with RewriteEngine which works just as well :)

12

Try using rewrite rules if you have apache:
RewriteEngine on
RewriteRule ^/users/(.*)$ http://www.example.com/profiles/$1 [R=301,L]

Note that you will need ModRewrite installed and enabled in your apache config. Pulled from here if you need a method for IIS.

  • I actually wanted to redirect, not just rewrite. Appreciate the help though :) – macek Jun 21 '10 at 19:52
  • @macek I haven't tested it personally, but I'm under the impression that will redirect with a 301 code. I'll play around with it a bit. The [R=301,L] means to stop processing rewrite rules and issue a 301 redirect. – Darth Android Jun 21 '10 at 19:54
  • ah, I didn't know you could use [R=301,L] at then end of a RewriteRule. Thanks for this :) – macek Jun 21 '10 at 19:55
  • @macek I didn't either until about 30 seconds ago. This is why I come to this website to be entirely honest. Thanks for increasing my knowledge! :P – Darth Android Jun 21 '10 at 19:58
  • I believe the first / on the RewriteRule needs to be removed for this to work as desired. (I had to remove it for it to work on my system.) With the first / removed, we're left with: RewriteRule ^users/(.*)$ http://www.example.com/profiles/$1 [R=301,L] – rinogo Nov 27 '17 at 22:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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