문제

일부 페이지를 영구적으로 리디렉션하고 사용자를 새 URL로 리디렉션해야합니다.

이 코드는 올바른 헤더 만 설정합니다. 사용자는 리디렉션되지 않습니다.

public static void PermanentRedirect(this HttpResponse response, string newUrl)
{
  response.Status = "301 Moved Permanently";
  response.StatusCode = 301;
  response.AddHeader("Location", newUrl);
}

내가 넣으면 :

Response.Redirect(newUrl);

결국 302 개의 임시 리디렉션이 수행됩니다.

사용자를 어떻게 301로 리디렉션 할 수 있습니까?

관련 질문 :

ASP 페이지에서 프로그래밍 방식으로 301 리디렉션은 어떻게하나요?

도움이 되었습니까?

해결책

Response.Flush 및 Response.end를 시도하십시오. 리디렉션은 302를 보내서 요청을 종료하라고 말합니다.

다른 팁

참고 ASP.NET 4.0에서 이것은 이제 내장되어 있으므로 사용할 수 있습니다. 리디렉터링 () 방법. 예를 들어

RedirectPermanent("/newpath/foroldcontent.aspx"); 

아니면 Isapi를 시도해 볼까요? IIS에서 mod_rewrite 및 기타 .htaccess 기능을 모방합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top