2010-03-26 3 views
0

12001에서 Ruby on Rails 응용 프로그램을 실행하고 있습니다. 현재 서브 도메인을 127.0.0.1:12001로 리디렉션 중입니다. ReWriteCond 감지. 이제 내 하위 디렉토리를 해당 레일 앱으로 리디렉션하고 싶습니다. ...서브 디렉토리에서 다른 디렉토리로 리디렉션하는 방법은 무엇입니까? mod_rewrite를 사용하여 URI에서 원래 서브 디렉토리를 제거하는 방법

어떤 아이디어를

127.0.0.1:12001 

현재 규칙

http[s]://domain.com/redmine 

위 레일 패스에 REQUEST_URI을 적용,하지만 난 REQUEST_URI의 전면에서 "/ 레드 마인"을 제거해야합니까?

+0

나는 원자에 대해 http://articles.sitepoint.com/article/apache-mod_rewrite-examples를 읽었지만, 나를 위해 일하도록 할 수는 없다. 이것은 내가 지금까지 가지고있는 것이다. ReWriteCond % {REQUEST_URI} ^/redmine /(.*)$ ReWriteRule^/? $ http : \/\/127 \ .0 \ .0 \ .1 : 12001/$ 1 –

답변

0

mod_rewrite없이이 작업을 수행 할 수 있습니다.

Redirect Permanent /redmine http://127.0.0.1:12001 

원하는대로해야합니다.

+0

다시 작성해야합니다. 이것은 프로덕션 환경입니다. 127.0.0.1로 리디렉션하면 웹 서버의 루비 서버가 아닌 최종 사용자의 컴퓨터로 리디렉션됩니다. –

+0

"리디렉션하고 싶습니다."라고 말했습니까? ReverseProxy를 대신 사용 하시겠습니까? –

0
RewriteRule ^/redmine/(.*)$ http://127.0.0.1:12001/$1 [QSA,L] 

규칙이 다음 디렉터리 지시어에 배치되어있는 경우 :

RewriteRule ^redmine/(.*)$ http://127.0.0.1:12001/$1 [QSA,L] 

끝에 매개 변수 :

  • 은 [QSA] (당신까지) 쿼리 문자열을 추가에게 ;
  • [L]는 그것을

NB/레드 마인은이 규칙과 일치하지 않습니다,하지만 난 당신이 뭘하려 오프려고 만 서브 패스, 예를 들어, 마지막 원칙으로한다/redmine/abc

관련 문제