특정 IP 주소의 방문자를 다른 페이지나 사이트로 리디렉션시키기

워드프레스 사이트에서 방문자 IP 주소를 체크하여 특정 IP 주소인 경우 다른 페이지나 다른 사이트(예: 구글, 네이버 등)로 리디렉션시켜야 하는 경우가 있을 수 있습니다. 이 경우 Redirection 플러그인을 사용하거나 사용자 코드를 테마 함수 파일에 추가하여 원하는 대로 리디렉션시킬 수 있습니다.

특정 IP 주소의 방문자를 다른 페이지나 사이트로 리디렉션시키기

플러그인을 사용하거나 커스텀 코드를 사용하여 IP 주소 기반으로 리디렉션을 설정할 수 있습니다.

Redirection 플러그인 사용하기

워드프레스 Redirection 플러그인은 현재 200만 개가 넘는 사이트에 설치되어 사용되는 인기 리다이렉트 플러그인입니다.

워드프레스 관리자 페이지에서 플러그인 » 새로 추가를 클릭하고 redirection으로 검색하여 이 플러그인을 설치할 수 있습니다.

워드프레스 Redirection 플러그인

이 플러그인은 다양한 조건에 따라 리디렉션을 설정할 수 있습니다.

조건부 리다이렉트설명
Login status
(로그인 상태)
사용자가 로그인 또는 로그아웃인 경우에만 리디렉션
WordPress capability
(워드프레스 권한)
사용자가 특정 권한을 수행할 수 있는 경우 리디렉션
(즉, 워드프레스 사용자 역할에 따라 리다이렉트 설정)
Browser
(브라우저)
방문자가 특정 브라우저를 사용하는 경우 리디렉션
Referrer
(리퍼러)
사용자가 다른 페이지에서 링크를 방문한 경우 리디렉션
Cookies
(쿠키)
특정 쿠키가 설정된 경우 리디렉션
HTTP headers
(HTTP 헤더)
HTTP 헤더에 기반하여 리디렉션
Custom filter
(사용자 정의 필터)
워드프레스 필터에 기반한 리디렉션
IP address
(IP 주소)
클라이언트 IP 주소가 일치하는 경우 리디렉션
Server
(서버)
이 서버에 호스팅되는 경우 다른 도메인으로 리디렉션
Page type
(페이지 유형)
현재 페이지가 404 페이지인 경우 리디렉션

리디렉션을 추가할 때 일치 옵션을 "URL and IP"로 설정하면 방문자 IP 주소에 따라 리다이렉트 설정이 가능합니다.

특정 IP 주소의 방문자를 다른 페이지나 사이트로 리디렉션시키기

위와 같은 화면에서 Match 옵션을 "URL and IP"로 지정하면 IP 주소를 입력할 수 있는 필드가 표시됩니다.

또한, 조건이 일치하는 경우 타겟 URL과 조건이 일치하지 않는 경우 타겟 URL을 모두 지정할 수 있습니다.

하지만 저는 이 방법으로 테스트해보니 IP 주소가 일치하더라도 모두 일치하지 않는 것으로 인식하는 문제가 발생했습니다.

이 플러그인을 사용하여 IP 주소에 따라 리디렉션을 설정하는 경우 제대로 작동하는지 테스트해보시기 바랍니다.

커스텀 코드를 사용하여 리디렉션시키기

다른 방법으로 워드프레스에서 제공하는 훅(hook)을 사용하여 방문자 IP 주소에 따라 다른 페이지나 도메인으로 리디렉션시킬 수 있습니다.

다음과 같은 코드를 테마 함수 파일에 추가하면 방문자의 브라우저 IP 주소가 지정한 IP 주소와 일치할 경우 지정한 URL로 리디렉션됩니다.

// 방문자 IP 주소를 기반으로 리디렉션시키기
// Redirect vistiors to other page or URL based on IP address
add_action( 'template_redirect', 'redirect_to_specific_page' );
function redirect_to_specific_page() {
    $visitor = $_SERVER['REMOTE_ADDR'];
    $redirectTo = 'https://www.google.com';

    if (preg_match("/111.111.11.111/",$visitor)) {
        wp_redirect($redirectTo);
    }
        exit;
}

상기 코드에서 리디렉션되는 URL과 IP 주소(111.111.11.111)는 상황에 맞게 변경하시기 바랍니다.

차일드 테마를 만들어 차일드 테마(자식 테마) 디렉터리 내의 함수 파일(/wp-content/themes/활성화된_테마/functions.php)에 추가해야 추후 테마 업데이트 시 수정 사항이 사라지지 않고 유지됩니다.

FTP에 접속하여 함수 파일을 수정할 수 있습니다. FTP 접속 정보를 모르는 경우에는 웹호스팅 업체에 문의하면 FTP 접속 정보를 확인하는 방법을 알려줄 것입니다. 블루호스트를 이용하는 경우 임시 FTP 계정을 생성하여 FTP 서버에 접속할 수 있습니다.

.htaccess 파일에 코드를 추가하여 리디렉션시키기

또 다른 방법으로 Apache 웹 서버인 경우 .htaccess 파일에 리디렉션 코드를 추가하여 방문자 IP 주소를 기반으로 리디렉션시키는 것도 고려할 수 있습니다.

방법은 Stackoverflow 문서 "How to redirect one visitor IP address to a specified page on my website(하나의 방문자 IP 주소를 내 웹사이트의 지정된 페이지로 리디렉션하는 방법)"에 소개된 코드를 응용해보시기 바랍니다.

참고

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.