I’m working in an old CMS that uses htaccess to rewrite URIs with GET variables into something more user friendly.
RewriteEngine on
RewriteRule ^animals/(.*)/ secondary.php?page=$1
RewriteRule ^animals/(.*) secondary.php?page=$1
which results (correctly) in
http://www.example.com/animals/duck
The problem is I now need to redirect some of those pages to new pages. I’ve tried:
Redirect 301 /animals/goose http://www.example.com/animals/fowl
The redirect almost works, but it adds “?page=goose” to the end of the rewritten URI:
http://www.example.com/animals/fowl?page=goose
I’ve tried using RewriteRule as well as RewriteCond, but unfortunatley I’m having no luck. Any help would be immensely appreciated.
Try placing this before the other rules instead of the Redirect statement.
R=301is for the redirect andLsignals that the rule in question is the last rule to be processed.Also you can easily make the slash (just like any other character) optional with a question mark, instead of having two rules.