2014-05-13 2 views
0

IIS7에서 호스팅하는 MVC 응용 프로그램에 2 개의 도메인 이름이 지정되어 있습니다. 나는 그것들을 분리시켜야한다. (그래서 나는 다른 하나에게 전달되지 않았다). 기본적으로 www.1.com 또는 www.2.com을 입력하면 동일한 MVC 응용 프로그램에 연결되지만 URL은 달라집니다. 나 지금까지?도메인 이름별로 경로 선택

내가하고 싶은 것은 URL을 기반으로 다른 컨트롤러/라우트를 호출하는 것입니다. 이것이 내가 Global.asax에서 구성 할 수있는 것입니까? 그렇다면 어떻게?

뭔가 같은 ...

routes.MapRoute(
      "www.1.com", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

routes.MapRoute(
      "www.2.com", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home2", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

감사합니다!

+0

알아두기가. 대신 IIS에서 UrlRewrite를 사용하면 URL을 다음과 같이 다시 작성합니다. 'http://www.2.com/2/ {controller} ... etc' 여기서 도메인 다음 2는 다시 쓰는'{HTTP_HOST} '매개 변수입니다. . 그런 다음 MVC에서 경로의 일부를 만들 수 있습니다. – vcsjones

+0

좋은 해결책 인 것 같습니다. Ext를 설치하고 사용하여 기존 IIS 설정을 손상시킬 수있는 위험이 있습니까? – Zenacity

+0

아니요, 문제가 발생하면 사용 중지/제거가 매우 간단합니다. – vcsjones

답변

-1

내가 이해 한 것은 ASP.NET을 사용하여 다중 테넌트 응용 프로그램을 작성하려고한다는 것입니다. 이것을 달성하기 위해서는 다음과 같이 IIS 호스트 헤더를 조정해야합니다.

  1. 응용 프로그램의 게시 된 버전을 가리키는 IIS에서 웹 사이트를 구성하십시오.
  2. 이제이 웹 사이트의 "바인딩 정보"를 편집 할 수 있으며이 웹 사이트에 대해 많은 도메인 바인딩을 추가 할 수 있습니다. 즉 www.domain1.com, www.domain2.com
  3. 마지막 단계는 각 도메인에 대해이 IIS 서버 IP를 가리 키도록 A 또는 CNAME 레코드를 구성합니다.

당신이 여기 내 세부 블로그 http://www.dotnetexpertguide.com/2012/04/aspnet-iis-dns-records-sub-domain-on.html

0

당신은 도메인 경로 옵션을 사용할 수를 읽을 수 요청 도메인 이름을 기준으로 설정/테마/모듈을로드하는 데 필요한 경우 더이 촬영, 단순히 이것을 시도 .. ..

routes.Add("DomainRoute", new DomainRoute( 
    "{customer}.example.com", // Domain with parameters 
    "{action}/{id}", // URL with parameters 
    new { controller = "Home", action = "Index", id = "" } // Parameter 
    defaults 
)) 
관련 문제