2010-05-22 3 views
2

포워딩을 구현해야합니다. 나는 다음과 같은 방식으로했다 :다음 포워딩이 작동하지 않는 경우가 있습니까?

<html> 
<head> 
<meta http-equiv="refresh" content="0; URL=http://www.xyz.com"> 
</head> 
<body> 
</body> 
</html> 

어떤 상황에서도 작동하지 않습니까? 나는 selfhtml.org (http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung, 독일어 링크를 찾을 수 없어서 다른 것을 찾을 수 없음)에서 항상 적절하다고 생각하지 않습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? 그리고 어떤 상황에서 내 코드가 작동하지 않을까요?

답변

3

링크 된 페이지에 대한 주요 논점은 다음과 같습니다. 사용자의 브라우저에서 메타 리디렉션이 해제 될 수 있지만 (드물지만) 사용자가 탐색하려고 할 때 즉각적인 리디렉션으로 인해 사용성 문제가 발생할 수 있습니다. 역사를 통해.

그러나 HTML을 전혀 출력하지 않고 location 헤더를 사용하여 서버 측 리디렉션을 수행 할 수 있습니다. PHP에서는 다음과 같이 보일 것이다 : 당신이 할 수없는 경우

<? header("Location: http://www.xyz.com"); 
    die(); 
?> 

, 나는 메타 리디렉션 괜찮 사용하여 말하고 싶지만. 사용자에게 불편 함을 최소화하기 위해 몇 초의 일시 중지와 링크 ("당신은 지금 ....로 리디렉션되고 있습니다")를 추가 할 수 있습니다.

검색 엔진 최적화의 경우 검색 엔진에서 자동으로 리디렉션되는 페이지를 무시하고 대상 사이트의 색인을 생성합니다. 이는 원하는 사이트 일 것입니다.

+0

HTTP 상태 코드를 300 제품군 중 하나로 설정하기를 원할 수도 있습니다. http://www.websitepulse.com/kb/3xx_HTTP_status_codes.html –

+1

@ 좋은 지적. 'Location' 헤더는 기본적으로 302를 보냅니다. –

+0

감사합니다 pekka이 완벽하게 작동합니다. @ 주목할만한 컴파일러 병이 감사합니다. 감사합니다. – RoflcoptrException