I added slugs to some of the models, but because of SEO I need to do 301 redirection from old links: old:
http://host.com/foo/1
new:
http://host.com/foo/foo_slug
question: how to implement 301 redirection in this case? and is it possible to implement 301 redirection from uppercased link? Like this:
http://host.com/foo/FOO_SLUG -> http://host.com/foo/foo_slug
You should be able to redirect with status 301 by adding this to your controller action:
redirect_to "http://host.com/foo/foo_slug", :status => 301
See the API documentation for redirect_to
for details.
And there should be no problem with redirecting upper-cased URLs to lowercased versions, although this may be better handled by something at the HTTP server layer such as Apache mod_rewrite rules.
For 301 redirection write this code in your controller:
headers["Status"] = "301 Moved Permanently"
redirect_to "http://host.com/foo/foo_slug" # in your case
And for second question, use capitalise or down case if you mentioned hardcode url.
Otherwise use ruby interpolation by putting whole url in string
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With