2011-03-21 8 views
2

에 문자열을 추가하기 위해, 나는 그들의 브라우저 URL의 URL을레일 3 라우팅 레일 3 라우팅을 사용하여 홈 URL

http//mysite.com/mykeyword 

를 확인하기 위해 홈 페이지

http//mysite.com/ 

모든 방문자를하고 싶습니다. 즉

는 홈 페이지에 모든 방문이 약 전형적인 경로

root :to => "home#index" 

또는

match '/' => 'home#index' 

어떤 반대입니다

http//mysite.com/mykeyword 

로 리디렉션 컨트롤러 이름은 홈페이지 URL에서 제거됩니다.

대신 사이트 홈페이지를 방문 할 때마다 "mykeyword"가 URL에 포함되도록하고 싶습니다.

어떻게?

match '/mykeyword' => "home#index" 

당신은 방문자가 여전히 홈페이지에되고 싶어하지만, URL은 "www.mysite.com/mykeyword"바로 대답 :

답변

3

저스틴은 맞습니다.하지만 리디렉션을 원합니다. 그렇게하기 위해서 :

match "/" => redirect("/mykeyword") 
+0

아, 네, 그 부분을 알아 내려고했습니다. P –

+0

자렛의 대답이 완료되었습니다. 그것은 다음과 같습니다 \t 일치 '/ mykeyword'=> '홈 # 지수 " \t \t 일치"/ "=> ("/ mykeyword ") \t \t # 루트로 리디렉션 님 =>'집 번호를 index ' \t 참고 : "root : to =>'home # index ''"가 다른 경로보다 앞에 오면 실패합니다. –

+0

내가 틀릴 수도 있지만,'root : to => 'home # index' '을 당신이 이미 리다이렉트로 홈페이지에'/'를 매치하고있는 한 필요 없다고 생각합니다. –

1

이 시도? 그렇다면 작동합니다.

+0

아주. http // mysite.com/mykeyword의 홈 페이지를 표시하지만 http // mysite.com의 방문자는 추가 문자열없이 여전히 "http // mysite.com /"을 볼 수 있습니다. http // mysite.com /에있는 모든 방문자가 "http // mysite.com/mykeyword"(추가 문자열 추가 강제)를 보길 원합니다. –

+0

예, 코드를 Jarrett의 코드와 결합하면 답변을 얻을 수 있습니다. –

+0

감사합니다. 저스틴. –