랜덤하게 다른 URL로 리디렉션시키기 [PHP]

워드프레스 정보를 제공하는 블로그 Avada 2019. 10. 14. 08:45 • 댓글:

특정 페이지에 접속하면 사용자들을 미리 지정된 URL 중 하나로 랜덤에게 리디렉션시키고 싶은 경우가 있을 수 있습니다.

그런 경우 다음과 같은 PHP 코드로 시도해볼 수 있습니다.

<?php 
$myLinks = array(https://www.google.co.kr/,
    https://www.naver.com,
    https://www.daum.net/,
    https://www.yahoo.com/");
$randomRedirection = $myLinks[array_rand($myLinks)];
header("Location: $randomRedirection");
?>

위의 코드를 추가하면 구글, 네이버, 다음, 야후 사이트 중 하나로 랜덤이게 리디렉션됩니다. 위의 코드는 stackoverflow의 "Redirecting randomly from index.html to another file (index.html에서 다른 파일로 랜덤하게 리디렉션하기)"에서 인용한 것입니다.

워드프레스의 경우 wp_redirect() 함수를 사용할 수 있습니다. header("Location: $randomRedirection"); 부분을 다음과 같이 대체하도록 합니다.

wp_redirect($randomRedirection);
exit;

워드프레스에서는 다음과 같은 오류가 발생할 수 있습니다.

Cannot modify header information - headers already sent by...

그런 경우 시작 부분에 다음 라인을 추가하면 문제가 해결될 것입니다.

ob_start();

워드프레스에서 위의 코드를 적용하려면 다음과 같은 방법으로 시도하면 됩니다.

  • 차일드 테마를 만들지 않은 경우 차일드 테마를 만듭니다.
  • 페이지 템플릿을 만들고 헤더 부분에 위에서 제시한 코드를 추가합니다.

참고 글:

다른 방법으로 자바스크립트를 사용하는 방법도 시도해볼 수 있습니다.

참고: