Ruby on Rails 301重定向

我添加了slugs到一些模型,但由于SEO我需要从旧链接做301重定向:旧:

http://host.com/foo/1 

新:

 http://host.com/foo/foo_slug 

问题:在这种情况下如何实现301重定向? 是否可以从大写链接实现301重定向? 像这样:

 http://host.com/foo/FOO_SLUG -> http://host.com/foo/foo_slug 

您应该能够通过将其添加到控制器操作来重定向状态301:

 redirect_to "http://host.com/foo/foo_slug", :status => 301 

有关详细信息,请参阅redirect_to的API文档。

将大写的URL重定向到小写版本应该没有问题,尽管HTTP服务器层的某些东西可以更好地处理,例如Apache mod_rewrite规则。

对于301重定向,请在控制器中编写此代码:

headers [“Status”] =“301永久移动”

redirect_to“ http://host.com/foo/foo_slug ”#在你的情况下

对于第二个问题,如果您提到硬编码url,请使用大写或小写。

否则通过将整个url放在字符串中来使用ruby插值