최근에 기존 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에 아무 것도 렌더링하지 않습니다.