2010-01-12 3 views
12

또 다른 다중 임대 게시판은 두려운 게시판입니다. 난 그냥 내 문제에 대한 좋은 해결책을 찾을 수 없어, 나는 ASP MVC에 대한 멀티 임차에 대한 모든 위대한 게시물을 읽었지만 여전히 좋은 조언이 필요합니다.ASP 멀티 입주 MVC

내 고객 중 한 명에게 회사 정보를 제공하려고합니다. 그들의 회사 구조는 다른 회사 (예 : Acme Holding Ltd, Acme Technology Ltd., Acme Maritime Ltd. 등)를 소유 한 주요 회사 (예 : Acme Group Ltd.)와 같습니다.

하나의 ASP MVC 프로젝트를 사용하여 모든 사이트가 필요한 코드를 줄이고 DRY 상태로 유지하는 컨테이너 역할을하고 싶습니다. 또한 모든 사이트에서 동일한 Membership DB를 사용하기를 원합니다.

첫 번째 생각은 각 하위 회사에 대해 하나의 컨트롤러 폴더를 만들고 회사 메인 페이지에 대해 하나의 루트 컨트롤러를 만드는 것이 었습니다.

acme.com ("기업 메인 페이지")
acme.com/Holding ("한국 전기 지주 회사")
acme.com/Maritme ("한국 전기 Maritme 주 : 다음과 같을 것이다 ")
...

이 구조가 내게로 괜찮지 만, 나는 또한 웹 사이트의 사용자가 자신의 별도의 도메인을 기준으로 각 하위 사이트에 액세스하려면, 예 :

h olding.acme.com (이는 "acme.com/Holding"으로 연결됩니다).
... 물론도 작동하지만, 일이 내가 사용자가 "acme.com/Holding"을 지시 할 때 URL이 변경하지 않는다는 것입니다 것

. "acme.com/Holding/Contact"대신에 "holding.acme.com", "holding.acme.com/About", "holding.acme.com/Contact"등으로 계속하고 싶습니다.

이 특정 프로젝트에서 어떤 생각을 사용하는 것이 가장 좋은 방법일까요?

+1

MVC2에 액세스 할 수 있습니까? 그리고 그것의 '영역'기능을 살펴 보았습니까? – ChadT

+0

실제로, 저는 MVC2를 사용하고 있습니다. 그러나 저는 지역을 보지 않았습니다. 나는 지금 살펴볼 것이다. – Martin

답변

6

간결하게 유지하려면 IIS URL Rewrite Module을 사용하십시오. 당신은 acme.com/Holding/*acme-holding.com/* URL을 다시하도록 설정할 수 있습니다

<rewrite> 
    <rules> 
     <rule name="Forward to acme.com"> 
      <match url=".*" /> 
      <action type="Rewrite" url="http://acme.com/Holding/{R:0}" /> 
     </rule> 
    </rules> 
</rewrite> 
+0

MVC2의 "영역"에 관한 DaRKoN_s 팁과 함께이 작업을 진행할 것입니다. 나는 이것이 최선의 관행이 될지 궁금하거나 내가 다르게 처리해야 하는가? – Martin

+2

재 작성 대신 리디렉션하는 것이 가장 좋습니다. Google은 URL이 다른 동일한 콘텐츠를 좋아하지 않습니다. –