2016-07-05 3 views
0

우리 회사는받는 사람에게 웹 사이트를 방문하여 추가 정보를 요청하는 엽서를 발송하려고합니다. 우편 엽서의 URL에는 추적 목적으로 고유 한 하위 도메인이 포함됩니다.ASP.NET : 동적 하위 도메인 추적

예를 들어, John Smith의 url은 johnsmith.mysite.com처럼 보일 것입니다. Amy Johnson의 우편 엽서 URL은 amyjohnson.mysite.com 등이됩니다.

그래서 두 가지 질문이 있습니다. 하나,이 방식으로 URL을 설정할 수 있습니까? 수천 개의 고유 한 엽서를 보내므로 웹 호스트의 관리 섹션에 수동으로 하위 도메인을 설정하는 것은 현실적이지 않습니다. 그리고 두, asp.net에서 어떻게 하위 도메인을 캡처 할 수 있습니까?

감사합니다.

+0

는 그냥 할 훨씬 쉽게하지 않을까요'mysite.com/johnsmith' 대신'johnsmith.mysite.com'의를? 하위 도메인이어야하는 이유는 무엇입니까? – mason

+0

내 회사의 누군가는 개인화 된 하위 도메인이 더 깨끗하게 보이고 더 많은 전환을 이끌 것이라고 믿습니다. 그래서이 접근법이 가능하다면 연구해야합니다. 그렇지 않다면, 우리는 당신이 언급 한 방법에 의지 할 것입니다. – goalie35

답변

0

문제를 해결하기 위해 다른 방법을 사용했습니다. 이 프로그램 전체를 처리하는 대신 내 웹 호스트 (GoDaddy)를 사용하여 내 도메인에 "와일드 카드 DNS"를 만들었습니다. 에 대한 몇 가지 정보가있다 그것은 at this link.

내 도메인 와일드 카드 하위 도메인을 허용하도록 설정했다 후, 나는 나를 하위 도메인의 이름을 추출 할 수 있습니다 다음, 내 코드에 가서 사용할 수 있었다 :

Uri url = new Uri(System.Web.HttpContext.Current.Request.Url.AbsoluteUri); 
string subDomain = GetSubDomain(url); 

그리고 ...

public string GetSubDomain(Uri url) 
    { 
     if (url.HostNameType == UriHostNameType.Dns) 
     { 
      var host = url.Host; 
      if (host.Split('.').Length > 2) 
      { 
       var lastIndex = host.LastIndexOf("."); 
       var index = host.LastIndexOf(".", lastIndex - 1); 
       return host.Substring(0, index); 
      } 
     } 
     return null; 
    }  
관련 문제