2012-12-20 1 views
6

/articles으로 시작하는 모든 경로를 /blog으로 시작하는 유사한 경로로 영구 리디렉션하도록 설정하고 싶습니다.301 Rails 3 경로에서 관련 경로 그룹의 리디렉션

경로에서 경로를 개별적으로 리디렉션하는 방법을 알고 있습니다. 나는 또한 /articles/:id/articles/category/:id 등의 경로를 재 지정하려면

match "/articles/" => redirect("/blog/")

그러나, 나뿐만 아니라 사람들을 위해 명시 적으로 리디렉션을해야합니다.

저는 현재와 미래의 모든 경로를 리디렉션 할 수있는 방법이 있기를 희망합니다.

나는이 컨트롤러를 before_filter으로 비교적 쉽게 처리 할 수 ​​있다는 것을 알고 있지만,이 동작은 경로에 속해 있다고 생각하며 거기에 보관하려고합니다. 레일 가이드에 따라

답변

1
match '/articles(/*path)' => redirect { |params, req| "/blog/#{params[:path]}" } 
+0

작동! 고맙습니다. – hoffm

0

편집 문제는 매개 변수를 사용하여 경로를 잡기, 지금은 해결해야했다

, 할 수있는 방법은 다음과 같아야합니다

match "/articles(/:action(/:id(.:format)))" => redirect {|p, req| "/blog/#{req.subdomain}" } 

Redirection

아이 호 이것은 당신을 도와줍니다.

+0

이 두 가지 옵션 중 어느 것도 나를 대신 할 수 없습니다. 첫 번째는'/ articles'을 정확하게 다루지 만'/ articles'로 시작하는 다른 경로와는 일치하지 않습니다. 두 번째 것은'/ articles'를'/ blog/articles'로 리디렉션하고'/ articles'로 시작하는 다른 경로와도 일치하지 않습니다. – hoffm

+0

문제는 매개 변수가있는 경로를 잡아 당겨서 해결해야합니다. 이 중첩 된 경로가 있다면 – felipeclopes

+0

결과를 알려주십시오. – felipeclopes