특정 도메인으로 접속시 리다이렉트되게 하기

워드프레스에서 특정도메인으로 접속시 리다이렉트 되도록 설정하기

가정.
A.com 으로 접속시에 B.com 으로 리다이렉트되도록 설정하고,  A.com/A.php 페이지로 접속시에는 A.com/A.php 페이지를 보여지게 하려면… 아래코드를 index.php 윗줄에 추가하기

<?
    if (in_array($_SERVER['REQUEST_URI'], array('/', '/index.php')))
    {
        Header('Location:http://www.B.com');
        exit;
    }
?>

결과
A.com 의 특정페이지 주소로 접속했을때, B.com으로 리다이렉트 되지 않는다.

코드 설명.

<?
    if (in_array($_SERVER['REQUEST_URI'], array('/', '/index.php')))
    {
        Header('Location:http://www.B.com');
        exit;
    }
?>

$_SERVER[‘REQUEST_URI’] 는 php 에서 사용하는 서버 변수이며, REQUEST_URI는 “http://www.abc.com/aaa/bbb/ccc?aaa=bbb”으로 접속시 도메인까지 제외하고 “/aaa/bbb/ccc?aaa=bbb”를 취하도록 하는 것이다. “in_array” 는 요청받는 URL 이 “/  또는 /index.php” 인경우 “Header(‘Location:http://….’);”로 URL 보내도록 하는것.

“exit;” 를 하지 않으면 워드프레스 자체에서 가로채어 리다이렉트가 되지 않는다.

간단히 말해서 도메인을 제외한 URL이 “/또는 /index.php” 인경우 “http://www.B.com”  으로 보내도록해서 별도의 주소를 가지고 있는 페이지들은 해당 룰에 해당하지 않아 화면으로 확인할 수 있다.

“if (in_array($_SERVER[‘REQUEST_URI’], array(‘/’, ‘/index.php’)))” 부분은 “if ($_SERVER[‘REQUEST_URL’] == ‘/’)”으로 대체 사용가능하며,  도메인 주소인경우만 적용된다.

다른 방법으로는 아래 링크를 참고할것.
워드프레스 301 리디렉션(301 Redirect)