특정 IP 주소의 방문자를 다른 페이지나 사이트로 리디렉션시키기
워드프레스 사이트에서 방문자 IP 주소를 체크하여 특정 IP 주소인 경우 다른 페이지나 다른 사이트(예: 구글, 네이버 등)로 리디렉션시켜야 하는 경우가 있을 수 있습니다. 이 경우 Redirection 플러그인을 사용하거나 사용자 코드를 테마 함수 파일에 추가하여 원하는 대로 리디렉션시킬 수 있습니다.
특정 IP 주소의 방문자를 다른 페이지나 사이트로 리디렉션시키기
플러그인을 사용하거나 커스텀 코드를 사용하여 IP 주소 기반으로 리디렉션을 설정할 수 있습니다.
Redirection 플러그인 사용하기
워드프레스 Redirection 플러그인은 현재 200만 개가 넘는 사이트에 설치되어 사용되는 인기 리다이렉트 플러그인입니다.
워드프레스 관리자 페이지에서 플러그인 » 새로 추가를 클릭하고 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 주소에 따라 리다이렉트 설정이 가능합니다.
위와 같은 화면에서 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 주소를 내 웹사이트의 지정된 페이지로 리디렉션하는 방법)"에 소개된 코드를 응용해보시기 바랍니다.
참고