2014-09-12 4 views
1

다른 사람이 내 웹 사이트의 루트로 이동할 때 전체 URL을 표시하고 싶습니다. www.mysite.com으로 이동하면 기본 라우팅에서 올바르게 처리하고 올바른 페이지를 표시합니다. 문제는 브라우저의 URL에 www.mysite.com/unity/hygiene (기본 경로로 설정 됨) 대신 www.mysite.com이 표시된다는 것입니다.Asp Mvc 웹 사이트의 기본 경로에 대한 전체 URL 표시

나는이 Global.asax에

void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    var ctx = HttpContext.Current; 
    var originalPath = ctx.Request.RawUrl.ToLower(); 
    if (originalPath == "/") 
     ctx.RewritePath("/unity/hygiene/"); 
} 

그것은 경로를 다시 수행에 요청을 시작하는 추가 시도했지만, 그 URL을 업데이트하지 않습니다.

IIS (IIS 7.5, Server 2008R2)에 URL 다시 쓰기가 설치되어 있지만 그 중 하나에서 성공하지 못했습니다. 재 작성 시도 :

<rewrite> 
    <rewriteMaps> 
     <rewriteMap name="HygieneDefault"> 
      <add key="http://www.example.com:8002/" value="http://www.example.com:8002/unity/hygiene/" /> 
     </rewriteMap> 
    </rewriteMaps> 
    <globalRules> 
    </globalRules> 
</rewrite> 

브라우저에서 기본 경로로 전체 URL을 표시하려면 어떻게해야합니까?

답변

0

내가 찾을 수있는 유일한 해결책은 컨트롤러에서 현재 URL을 확인하고 루트 인 경우 리디렉션하는 것입니다.

var url = Request.RawUrl; 
if (url == @"/") 
{ 
    Response.Redirect("/Unity/Hygiene"); 
} 
return View(); 
+0

고마워요! 나를 위해 일한다! –

관련 문제