2011-10-06 3 views
0

나는 다음과 같은 폴더 구조 한 :다른 도메인에 대해 다른 공용 위치를 사용하도록 Rails를 구성 할 수있는 방법이 있습니까?

내가 long_domain.com이로드 될 때이/공용 폴더 등을 사용하고자 long_domain.com short.one : 나는이 개 도메인을

/rails 
    /public 
    /images 

그리고이 public 및 short.one이로드 될 때/public/images를 사용합니다.

문제는 경로를로드하는 것이 아니라 원래의 공용 폴더 역할을해야한다는 것입니다.

레일스로 할 수 있습니까? 다른 "정적"이고 가벼운 서버를 사용하는 것이 더 좋을까요?

답변

0

당신이 할 수있는 몇 가지 방법이 있습니다.

이미지를 오프 사이트에서 호스팅하는 경우 이미지 태그에 전체 URL을 사용해야합니다. 상대 링크는 이미지가있는 CDN 또는 사이트로 연결됩니다. 이점은 앱에 대한 명시적인 제어 권한이 있으며 작동 할 가능성이 높다는 것입니다. 나는 나중에 쉽게 변경할 수 있도록 이미지 호스팅 위치에 대한 내 구성에서 상수를 정의 할 것입니다.

그 외에도 mod_passenger를 사용하여 레일스로 다시 프록시하고 mod_rewrite 규칙을 사용하여 이미지 태그를 즉시 재 작성 할 수 있습니다. 여기서의 장점은 앱을 변경하지 않아도된다는 것입니다 (변경 사항이 너무 나쁘지는 않음). 문제는 mod_rewrite가 정규식이므로 올바른 규칙을 알아 내고 모든 이상한 경우를 테스트하는 것입니다.

세 번째 옵션은 보석을 사용하는 것입니다. 이미지 처리를 실제로 확장하려는 경우 Dragonfly로 전환하면 원하는 곳에 이미지의 보조 사본을 저장할 수 있습니다. 그것은 많은 옵션과 기능을 가지고 있습니다. 이 부분에 관심이있는 것 같습니다. http://markevans.github.com/dragonfly/file.DataStorage.html

희망 사항이 몇 가지 아이디어가 있습니다.

+0

Apache/Passenger에서 RewriteRule을 사용하려고합니다. 개발 컴퓨터에서 레일스 만 실행하기 때문에 원하지 않았습니다. P. 하지만 프로덕션에서 승객을 사용해야하므로 익숙해 져야합니다. ^^ – Zequez

관련 문제