处理从旧永久链接到新永久链接的重定向

时间:2015-05-17 18:58:30

标签: ruby-on-rails redirect permalinks

我的rails 4 app中有一个Page模型。它有一个:永久链接属性,当有人进入“mysite.com/pages/page-name”时,控制器会找到带有“page-name”的页面作为永久链接,然后显示视图。

pages_controller.rb:

def show
  @page = Page.find_by_permalink!(params[:id])
end

网站启动几个月后,我想更改某个页面的永久链接,但我不想丢失所有传入的链接。我想我会这样做。

首先我将add_colum:new_permalink添加到Page模型中。然后如果这个:new_permalink属性是零或空的,它会在控制器中拉出一个新的页面,如下所示:

def show
  @page = Page.find_by_permalink!(params[:id])
  if !@page.new_permalink.blank?
    @page = Page.find_by_permalink!(@page.new_permalink)
  end
end

这样可行,但浏览器中的网址仍显示旧网址。我想这可能不是那么糟糕,但我想我希望它能真正转发到新页面。也许,而不是“new_permalink”它应该是一个新的网址,实际上是一个重定向?你最好的解决方案是什么?我可以将其改为301重定向吗?

1 个答案:

答案 0 :(得分:1)

是的,你应该使用301重定向,这样用户和搜索引擎都会将浏览器发送到正确的位置。

Boundary: \r\n------WebKitFormBoundary32hCBG8zkGMBpxqL\r\n
Encapsulated multipart part:
    Content-Disposition: form-data; name="description"\r\n
    Data (21 bytes)
        Data: 0d0a5465737420616e6420747261636520636f6d6d
        Length: 21
相关问题