2012-10-22 4 views
1

최근에 기존 Rails 3 애플리케이션을 표준 및 프리미엄 버전으로 분리해야한다는 과제가있었습니다. 프리미엄 버전은 새로운 레이아웃과 새로운 기능을 추가하여 기존 기능을 모두 갖추고 있습니다. 이상적으로 나는 premuim 사용자가 현재 URL에 접미사로 서브 도메인 (예 : "premium.somesite.com")을 붙이기를 원합니다./변경하지 않으려는 웹 사이트의 표준 버전이며 기본 URL로 계속 액세스 할 수 있습니다. .Rails 3 서브 도메인 기존 레일 애플리케이션

가능한 경우보기 및 컨트롤러를 종료하는 데 일부 논리를 추가하여 하위 도메인의 사용 여부에 대한 요청 처리 방법을 결정하고 싶습니다.

Railcast subdomains in rails 3을 사용해 보았지만 블로그 모델 및 데이터베이스 속성의 맥락에서 하위 도메인을 사용하고 있습니다. 하위 도메인에서도 가능합니까? 어떻게 시작할 수 있습니까?


나는 시도했다 :

추가 추가 가상 호스트를 승객에 의해 사용되는 내 아파치 httpd.conf 파일에 :

<VirtualHost *:80> 
    ServerName premium.mydomain.com 
    DocumentRoot /somewhere/../myapp 
    <Directory /somewhere/public> 
    Allow from all 
    Options -Multiviews 
    </Directory> 
</VirtualHost> 

추가를 내 routes.rb

에 다음과 같은
class PremiumSubdomain 
    def self.matches?(request) 
    request.subdomain == "premium" 
    end 
end 

MyApp::Application.routes.draw do  
    constraints(PremiumSubdomain) do  
    #all of my routes...  
    end  
end 

ens :

프리미엄 하위 도메인으로 내 사이트를 탐색하려고하면 도메인을 찾을 수 없으므로 route.rb에 제약 조건을 추가하면 나머지 응용 프로그램이 내 기본 URL에 아무 것도 렌더링하지 않습니다.

답변

0

그래서 아파치에 모든 것을 적절하게 구성했지만 DNS 서버에 제 3자를 사용하고 있었기 때문에 단순히 하위 도메인의 레코드를 추가하는 것뿐이었고 다른 모든 것은 복숭아였습니다.