2012-09-14 4 views
-1

나는 asp.net mvc로 마이그레이션 한 asp.net webform 웹 사이트가 있습니다..Aspx 페이지 요청 컨트롤러 작업

이제 asp.net mvc 컨트롤러 동작에 대한 내 .aspx 페이지 요청에 대한 301 영구 리디렉션을 수행하려고합니다.

asp.net mvc 컨트롤러/동작 .aspx 페이지 요청을 어떻게 리디렉션 할 수 있는지 자세히 설명 할 수 있습니까?

감사합니다.

답변

1

가장 쉬운 방법은 호출하는 것입니다 :

Response.RedirectPermanent(newUrl); 

이 브라우저에 301을 제공합니다.

EDIT : 그래서 실제 페이지가 더 이상 존재하지 않아서 404 페이지가 나타나지 않으므로 ASPX 페이지를 제거한 것으로 보입니다.이 문제를 해결하려면 코드를 전역에 두어 문제를 해결할 수 있습니다. asax, like :

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if (Request.Url.AbsolutePath == "/SomePage.aspx") 
    { 
     Response.RedirectPermanent("~/SomePage"); 
    } 
} 
+0

이것은 ASP.NET 4.0 이상입니다. 이전 프레임 워크를 사용하고 있다면 몇 가지 방법이 있습니다.이 방법이 효과적이라고 생각합니다.'Response.Status = "301 Moved Permanently"; Response.AddHeader ("Location", "http://newsite.com/Whatever"); ' –

+0

.aspx로 아무것도 입력 할 때마다 404 발견되지 않는 예외가 발생하므로 기본적으로 Global의 Application_Error 이벤트에 코드 작성을 강화할 수 있습니다. .ascx 이제 전체 웹 사이트에 대한 URL을 가지고 있으며 Global.ascx에 너무 많이 있습니다. –