I see some problems with your rewrite rules.
- You don't explicitly turn on mod_rewrite with
RewriteEngine On
- When using rewrite rules in your .htaccess file the slash at the beginning of them is assumed. Having a slash at the beginning of the rule will prevent rewrite from executing the rule. (This is different than if the rule were in httpd.conf where the slash at the beginning is required.)
- You have an extraneous
$1
in your first rule. Having $1
should be a back reference to whatever is in parenthesis in the first part of the rule. There are no parenthesis, so that rule is not going to work right.
- When redirecting with mod_rewrite, I recommend always using the
L
flag to ensure that it is the last rewrite rule triggered.
- You almost always want to specify the "permanent" type of redirect with
R=301
so that it doesn't do temporary redirect which are less SEO friendly.
- Your last rule should be on multiple lines.
- Your last rule is missing a closing
]
.
I would recommend first trying to use a simple redirect directive for something this simple:
redirect permanent /registration /signup
If that doesn't work you can fix your rewrite rule:
RewriteEngine On
RewriteRule ^registration/?$ /signup [L,R=301]