2011-03-12 6 views
2

DB에있는 슬러그에 대한 요청 된 경로와 일치하는 다시 쓰기 모듈이 있습니다. 일치하지 않으면 404 오류 코드를 반환하고 url을 404 페이지로 다시 작성하려고합니다.404 응답의 RewritePath?

문제는 404로 응답 상태를 설정하면 다시 쓰지 않고 IIS에서 다시 쓰는 페이지의 내용 대신 기본 404 오류 페이지를 반환한다는 것입니다.

var slug = db.Slugs.FirstOrDefault(x => SqlMethods.Like(x.SlugValue, app.Request.Path)); 
if (slug == null) 
{ 
    app.Response.Status = "404 Not Found"; 
    app.Context.RewritePath(Settings.NotFoundPage, true); 
    return; 
} 

어떤 방법이 있습니까?

(나는 상태를 주석하고 잘 작동 내 NotFoundPage에 URL을 다시 작성하지만, 리턴 코드는 404가 아닌 경우) 당신이 당신의 PageNotFound에 대한 숨김 코드로 app.Response.Status = "404 Not Found"; 코드를 이동할 수 있다고 생각

답변

2

페이지 대신, 그 작동합니다. 방금 내 컴퓨터에서 빠른 테스트를했습니다. 또 다른 옵션은 기본 IIS 오류 페이지를 PageNotFound 페이지로 변경하는 것입니다. 나는 그것이 사이트별로 설정 될 수 있다고 생각한다.

+0

정확히 내가 원하는 것은 아니지만이 작품은 –

관련 문제