2009-08-19 4 views
4

PHP의 헤더 ("location : here.html")를 사용하면 자바 스크립트의 window.location ("here.html")이 훨씬 더 좋아질 것입니다. 멀리 검색 엔진 가시성이 간다. 서버 리다이렉트는 Google에 올바른 콘텐츠를 표시하고 자바 스크립트 리디렉션은 자바 스크립트 리디렉션 코드가 포함 된 페이지로 읽히는 것으로 가정합니다.Javascript 리다이렉션과 PHP 리다이렉트, 검색 엔진이 일반적인 콘텐츠로보기

이유는 내가 현재 웹 사이트를 가져 와서 CMS 시스템으로 가져 오기를 원한다. (나는 e107을 사용하고있다.) 나는 그들의 이전 페이지가 현재 페이지 순위를 잃어 버리는 것을 원하지 않는다. 이전 페이지의 리디렉션을 CMS 시스템의 새 페이지에 넣을 생각이었습니다.

+1

'헤더 ("위치 : 이것을 here.html") ' 기술적으로 유효하지 않으며 Google이 사이트 맵에 표시 될 때 불평한다는 것을 알고 있습니다. 상대 URL이 아닌 전체 URL을 사용해야합니다. – TRiG

답변

7

검색 엔진 순위를 전달하는 유일한 방법은 HTTP 301 (영구) 리디렉션입니다. 이 같은 코드를 지정하지 않는 PHP의 header('Location')가 302을 줄 것이다 사용

:

header('Location: http://....', true, 301); 

이 같은 htaccess로를 사용하는 것이 더 쉬울 수 있습니다 : 예, 당신이 원하는

RewriteRule ^old.php /new.php [R=301] 
+1

나는 언제나 아파치 RewriteRule을 가장 좋아했다. 이것은 당신의 구식에서 새 페이지로의 포워딩을위한 깨끗한 장소를 제공한다. –

6

을 가능한 경우 서버 측 리디렉션 (PHP)을 수행하십시오.

<? 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://www.new-url.com"); 
?> 

via

또한

header("location: http://www.new-url.com") 

를 사용하여이 작업을 수행 할 수 있지만 좋은 SEO되지 않습니다 현명한

관련 문제