2017-09-29 2 views
0

내 웹 사이트를 CMS에서 WordPress로 변경했습니다. 따라서 URL 링크가 변경되었습니다. 이제 Google은 사용자를 이전 URL 링크로 리디렉션합니다. 어느 쪽이 죽었습니까? 그래서 웹 사이트는 404 페이지를 반환합니다.404 페이지를 다른 도메인으로 리디렉션하는 방법

방문자들이 오류에 대해 불만을 토로합니다. 그래서 404 오류 URL을 가진 사용자를 다른 하위 도메인으로 리디렉션하고 싶습니다.

오류 URL은 : URL에

을 website.com/ABC/123 :

old.website.com/ABC/123

내가 편집 htaccess로 파일을 함께 할 수있는 방법. 이미 htaccess 파일에 대한 데이터가 있습니다.

내 htaccess로 파일 스크린 샷 변경 내 하위 도메인에 404 URL을 리디렉션 htaccess로 파일에 필요한 무엇 https://imgur.com/9KyYLoa

.

리디렉션 플러그인을 통해 수동으로 추가 할 수 없도록 수백 개의 링크가 있습니다.

답변

0

해당 페이지가 404 오류 페이지인지 확인하고 해당 페이지가 오류 페이지 인 경우 하위 도메인으로 리디렉션하십시오. Wordpress에는 is_404()이라는 함수가있어 404 오류 페이지를 확인합니다. 리디렉션의 경우 wp_redirect('redirect url')이라는 기능이 있습니다. 다른 도메인 이름과 같은 URL로 리디렉션, 당신은 URL을 얻기 위해 PHP의 $_SERVER['REQUEST_URI'] 기능을 사용할 수 있습니다 들어

그래서 코드가 있어야한다 (귀하의 경우이 /ABC/123가 반환됩니다) :

if (is_404()) { 
    wp_redirect('http://old.website.com'+$_SERVER['REQUEST_URI']); 
    exit; 
} 

이 추가 코드 header.php 또는 index.php 테마로 설정하거나 다른 방법으로 이것을 맞춤 플러그인의 헤더에 연결할 수 있습니다.


자바 스크립트 접근

대신 이전 코드의 같은 장소에서이 코드를 추가하여 답변

<?php 
if (is_404()) { 
    ?> 
     <script> 
      window.location = "http://old.website.com"+window.location.pathname; 
     </script> 
    <?php 
    exit; 
    } 
?> 
+0

감사 (header.php 머리 태그의 끝 전). body 태그 밑의 header.php 파일에 추가했습니다. 작동하지 않습니다. 동일한 404 오류가 여전히 표시됩니다. 헤드 태그 아래에서 작동하지 않더라도 시도해 보았습니다. – user5031749

+0

head 태그의 끝 앞에이 줄을 추가하십시오. 이 방법으로 ** php ** 태그를 포함 시켰습니까? ** –

+0

예 동일한 코드를 시도했습니다. 리디렉션 중이 아닙니다. – user5031749

관련 문제