2011-11-26 67 views
1

我想做一個301重定向,但我想要一個捕獲所有。我目前擁有的是,該域名託管在Wordpress上,我擁有頁面和帖子。如果這些頁面或帖子不存在於我的新rails應用程序中,我想重定向到主頁。301重定向使用只是路由,沒有控制器

我使用Heroku來承載這個,所以我不能用Web服務器來做,據我所知,所以我需要在Rails裏面做。我本身沒有控制器,但是我可以搶劫頁面的控制器並使用它。有什麼辦法可以在路徑文件的底部添加一些內容:「如果此頁面不存在,請將其重新路由到主頁」?

回答

2

由於從docs,3.10你可以使用先進的約束和重定向,如:

matches '*any_path' => redirect('/') 

要確保你的頁面的路線,因爲這路由匹配的所有路徑後添加這個全球航線。

+1

但這是否提供301重定向還是什麼類型的重定向?我無法在您鏈接的文檔中找到它。 –

+1

根據http://www.camelpunch.com/web-development/tutorials/301-redirect-with-rails/這實際上創建了301。 –

1

馬克的答案似乎並不適用於我,但它指出我是正確的直接,所以我給了他一個綠色的複選標記。

是我最後不得不做的是以下內容添加到我的routes.rb:

match "*rest", :to => "pages#redirect"

,然後在我的網頁控制器執行以下操作:

def redirect 
    redirect_to root_path 
end