9

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 :)

0

1 Answer 1

13

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.

6
  • I actually wanted to redirect, not just rewrite. Appreciate the help though :)
    – macek
    Jun 21, 2010 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. Jun 21, 2010 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, 2010 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 Jun 21, 2010 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, 2017 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.