asp.net webform 에서 잘못된 경로로 사용자가 호출할 경우, 이를 분기해 주는 곳은 web.config 도 있지만, 잘못된 특정 경로마다 다르게 이동시키기위해서 코드로 구현하고자 할 때는 global.asax 에서 사용하는게 좋다.
protected void Application_Error(object sender, EventArgs e)
{
Exception exc = Server.GetLastError();
// 페이지가 없을 경우,
if (exc.GetType() == typeof(HttpException))
{
//사용자가 이전의 페이지경로를 호출할 경우,
if (exc.Message.ToLower().Contains("/deskpluseip/33/board/list.aspx") == true)
{
//변경된 페이지로 이동하자.~~
Response.Redirect("/DeskPlusEIP/EIP/DeskPlusEPDefault.aspx");
}
}
//서버에서 나온 오류 화면은 보안상 깔끔히 지우장.~~
Server.ClearError();
}
잘못된 경로를 호출 시, Application_Error 이벤트 함수에서 이를 취급하여, exception 인지 체크 후 에러메시지 안에 사용자가 잘못 기재한 경로를 비교해서 원하는 변경 페이지로 redirect 하는 구문이다.
참고 자료 : https://msdn.microsoft.com/en-us/library/24395wz3(v=vs.100).aspx