2010-07-13 4 views
0

그래서 여러 영역의 프로젝트를 진행하고 있으며 IIS가 URL을보다 멋지게 만들도록 요청을 다시 작성하도록 구성하려고합니다. 나는 URL rewrite 모듈을 하루 종일 사용하고있어 원하는 결과를 얻을 수 없다.IIS7 URL 다시 쓰기 + 하위 도메인 + ASP.Net MVC2

: 나는 현재 지역 = 등록, 컨트롤러 = 등록 ... 내가 'http://register.example.com'하여 사이트를 요청하는 사용자가 원하는 'http://register.example.com/Registration/Register/New'와 같은 긴 URL을

그리고 레지스터 안타 내가 'New'동작을 디폴트로 설정 한 컨트롤러. 등록의 하위 도메인을 지정했기 때문에 IIS는 '등록'영역을 사용할 것임을 알고 있습니다.

마무리 URL이 'http://register.example.com/Register/Finish'처럼 뭔가 될 것

이 가능합니까? 존

답변

1

당신이 당신의 태그 MVC를 표시 한 방법으로보고

덕분에, 당신은 당신이 경로로이 작업을 수행 할 수 있습니다 알고 있습니다.

''# Default Catch All MapRoute 
    routes.MapRouteLowercase(_ 
     "Registration", _ 
     "{controller}/{action}/{step}", _ 
     New With {.controller = "Register", .action = "Registration", .step = "New"}) 

그러면 IIS에서 등록 응용 프로그램을 호스팅하기위한 별도의 "웹 사이트"를 만들면됩니다.


추신 : IMO 하위 도메인은 당신이 묘사하고있는 구현에 대해 과장되고 종종 나쁜 관행입니다. 하위 도메인은 실제 컴퓨터 (SQL 서버가 sql.domain 일 수 있고 웹이 domainwww.domain이고 이메일이 smtp.domain 인 경우)을 사용하여 단일 웹 사이트의 섹션을 구분해서는 안됩니다. 또한 많은 검색 엔진은 http://www.example.com과 별개로 http : /subdomain.example.com 색인을 생성하므로 SEO 값이 내려갑니다.

+0

저는 컨트롤러가 디폴트로 인덱스 페이지로 이동하는 곳에서 이미 기본 라우팅을하고 있습니다. 그것은 문제가되지 않습니다. 영역을 숨기고 대신 하위 도메인 (~/Area/Controller/Action? 쿼리)을 사용하고 싶습니다. 이 방법으로 여러 하위 도메인을 동일한 사이트를 가리킬 수 있지만이 영역은 숨겨져 있기 때문에 사용자는 알 수 없습니다. foo.site.com은 실제로 foo.site.com/foo를 가리키며 bar.site.com은 bar.site.com/bar –

+0

입니다. 왜 하위 도메인에서 사이트를 분리하려고합니까? 그것은 다른 분야 (예 : SEO)에서 슬픔을 유발할 수 있습니다. –

+0

글쎄, 그건 내 웹 사이트가 아니야. 나는 상사가 물었던 것을하려고하고있다.) .... 나는 SEO 문제에 전적으로 동의한다. 하위 도메인이 필요하므로 고객이 사이트의 다른 부분을 클릭하기가 더 쉽습니다. 이러한 부분은 사용자가 액세스 할 수도 있고 액세스하지 않을 수도있는 별개의 서비스입니다. 그들 사이의 유일한 유사점은 모두 사용자 계정과 로그인입니다. sub.site.com이 site.com/sub로 리디렉션 한 경우 SEO 요금은 어떻게됩니까? 피드백에 정말 감사드립니다. –