How to do a 301 redirect for url's with this structure?
-
In an effort to clean up my url's I'm trying to shorten them by using a 301 redirect in my .htaccess file. How would I set up a rule to grab all urls with a specific structure to a new shorter url examples:
http://www.yakangler.com/articles/reviews/other-reviews/item/article-title
So in the example above dynamically redirect all url's with /articles/reviews/other-reviews/item/ in it to /reviews/ so
http://www.yakangler.com/articles/reviews/boat-reviews/item/1550-review-nucanoe-frontier
http://www.yakangler.com/articles/reviews/other-reviews/item/1551-review-spyderco-salt
would be...
http://www.yakangler.com/reviews/1550-review-nucanoe-frontier
http://www.yakangler.com/reviews/1551-review-spyderco-salt
http://www.yakangler.com/reviews/1524-slayer-inc-sinister-swim-tail
with one 301 redirect rule in my .htaccess file.
-
You can do this via RedirectMatch statements. There is an example of different match types you could use here. Basically, you create a pattern and then the code is smart enough to redirect based on that pattern.
Your redirect might look something like this though you might want to adjust the pattern match the directory in between /reviews/ and /item/. Mine is just a basic alphanumeric catch all.
RedirectMatch 301 ^/articles/reviews/([-A-z0-9]+)/item/(.*)$ http://clients.qwconsulting.com/reviews/$1
I hope that helps.