2010-02-24 4 views
0

온라인 호스트 헤더 분석기를 사용하여 페이지를 확인할 때 페이지에 200 OK라고 표시됩니다.이것이 301 리디렉션의 올바른 방법입니까?

그러나 내 브라우저에서 볼 때 다른 웹 사이트로 리디렉션됩니다 (원하는 방식). 내가 사용하는

코드는 다음과 같습니다

context.Response.Status = "301 Moved Permanently"; 
context.Response.AddHeader("Location", "http://www.example.com/article" + articleID); 
context.Response.End(); 

은 내가 HttpModule에이 코드를 넣어.

URL을 시도해보고 리디렉션 할 때 작동하기 때문에 작동하고 있습니다. 올바른 http 헤더가 반환되지 않는 것 같습니다.

문제가 있습니까?

답변

0

당신이 사용하려고 수 : HttpContext.ApplicationInstance.CompleteRequest() 대신으로 Response.End의

()?

1

당신이 당신의 헤더를 추가하기 전에 응답 버퍼가 완전히 명확해야합니다 :

context.Response.Clear(); 
context.Response.Status = "301 Moved Permanently"; 
context.Response.AddHeader("Location", "http://www.example.com/article" + articleID); 
context.Response.End(); 
+1

Google에서 확인하는 방법은 무엇입니까? – Blankman

+0

헤더를 보려면 피들러와 같은 프록시를 사용하십시오. 그것이 Google이 볼 수있는 것입니다. – Oded

1

시도 :

context.Response.StatusCode = 301; 
context.Response.StatusDescription = "Moved Permanently"; 
context.Response.RedirectLocation = "http://www.example.com/article" + articleID; 
context.Response.End(); 
나는 사용자 정의 모듈의 이상을 사용하고 적절한를 반환하지 301 HTTP 응답.

1

코드가 정확합니다. 나는 당신이 년 동안있어 정확히 사용했습니다 : 나는 웹 개발 도우미에서 HTTP 로깅을 사용하는 경우

context.Response.Status = "301 Moved Permanently"; 
context.Response.AddHeader("Location",URL); 
context.Response.End(); 
0

, 나는 301와 200 그래서, 그래, 당신의 코드가 정확한지를 참조하십시오.

+0

나는 그것이 단지 301이어야한다고 생각했다? – Blankman

관련 문제